存在する。同等品はありますか? C++ 11ではSTDの最後の要素を取得する::文字列
答えて
、あなたはback
メンバ関数を使用することができます:std::string::back
が原因監督には使用できませんが、あなたはreverse_iterator
を逆参照することにより、この問題を回避することができ、C++ 03では
char ch = myStr.back();
をあなたはrbegin
から返されます:
char ch = *myStr.rbegin();
これは役に立ちます。
C++でback()関数が追加されました。 – eddi
@ eddi-ありがとうございました!私はそれに応じて私の答えを更新しました。 – templatetypedef
注: 'back()'が利用できるようにするには、g ++に '--std = C++ 11 'をコンパイルするように強制しなければなりませんでした。 – JulianHarty
*(myString.end() - 1)
多分?それはまったくエレガントではありません。
python-esque myString.at(-1)
は、すでに膨れ上がっているクラスをあまりにも多く求めています。
あなたはおそらく最初の文字列の長さをチェックして、このような何かをしたい:
if (!myStr.empty())
{
char lastChar = *myStr.rbegin();
}
長さを確認する必要はありません。空文字列の場合は、lastCharに格納された '\ 0'を取得するだけです。 –
@ MarkLoeser:そうではありません。 '* myStr.end()'は 'myStr [myStr.size()]'と同じではありません!そして、たとえそれがあったとしても、 'myStr.rbegin()'は 'myStr.end() - 1'と同じです。これは空の文字列では無効です。 –
あなたは普通のコンテナのメンバ関数および実装通常の関数に関数テンプレートback
デリゲートを書くことができます文字列の欠落している機能:
template <typename C>
typename C::reference back(C& container)
{
return container.back();
}
template <typename C>
typename C::const_reference back(const C& container)
{
return container.back();
}
char& back(std::string& str)
{
return *(str.end() - 1);
}
char back(const std::string& str)
{
return *(str.end() - 1);
}
次に、あなただけのfoo
が文字列かベクトルであるかどうかを気にせずback(foo)
を言うことができます。
- 1. vb6の文字列配列の最後の要素を取得しますか?
- 2. Scala - 文字列の最後の2文字を取得する
- 3. 一致する文字列の最後の文字を取得
- 4. C文字列:文字列の最後の単語を取得
- 5. は最後の後のすべての文字を取得する「 - 」文字列
- 6. std :: listの最後の2つの要素への参照を取得する
- 7. C++文字列内の最後の(n)文字を取得
- 8. 変数から文字列の最後の文字を取得
- 9. 文字列の最後の文字を取得
- 10. 角で文字列の最後の文字を取得
- 11. linqで文字列配列の最大要素を取得する方法は?
- 12. 配列の最後の要素だけを取得する
- 13. CoffeeScriptで配列の最後の要素を取得する
- 14. std :: mapの最初のn要素を取得する方法
- 15. 文字列操作 - 最後の 'x'文字数を取得
- 16. C言語の文字列の最初の要素の最初の要素を取得します。
- 17. SortedDictionaryの最後の要素を取得
- 18. 文字列の "%"の最後のインデックスを取得する方法?
- 19. 文字列(JavaScriptの)の最後の番号を取得する
- 20. djangoテンプレートフィルタchaning - 最後の要素の最後の要素を取得
- 21. シェルの文字列の最後の文字を取得するには?
- 22. 文字列の最後から句読点を取得する
- 23. java最後の単語を文字列から取得する
- 24. c#TextBox文字列の最後の文字を取得する方法は?
- 25. C++で文字列の最後の文字を取得するには
- 26. FreeMarkerで文字列の最後の4文字を取得する
- 27. 特定の要素を文字列ファイルから取得する
- 28. jsonの文字列要素を取得する
- 29. HTML文字列のHTML子要素を取得する
- 30. 前の配列要素を上書きする文字列の2D配列の最後の要素
私はそれが必要ではないと思います。なぜなら、あなたは提供された機能でそれをかなり簡単に行うことができるからです。 –
その引数はコンテナクラスに対しても保持されます。 – Deve