#topicpath
//////////////////////////////////////////////////////////////////////////////
* 目次 [#g51d4e75]
#contents();

//////////////////////////////////////////////////////////////////////////////
* 関数など [#ifb92429]
//============================================================================
** for_each() [#for_each]
 std::vector<int> vec = { 1, 2, 5, 8 }; 
 for_each (vec.begin(), vec.end(), [](int &n) { n*= 3; } ); // vec の全要素に対して値を3倍にする
- see also: [[Lang/C++/C++11#for]]


//////////////////////////////////////////////////////////////////////////////
* std::string [#string]
//============================================================================
** コンストラクタ [#j24451d7]
|~example code |~description |~remark |
|string a;     |空の文字列を生成 ||
|string b = "example"; | 右辺に渡された文字列で生成 ||
|string c( b, 1, 3 );  |元になる文字列 b の1番目から3番目の部分文字列から文字列を生成 ||
|string d( "example", 2 ); |文字列先頭2文字からなる文字列を生成 ||
|string e( 10, 't' );      |10個の文字 't' からなる文字列を生成 ||
|string f = { 'e, 'x', 'a' }; |文字の初期化子リストから文字列を生成||
|string g = b;             |string 変数 b のコピーを構築 ||
|string i( b.begin(), b.end() ); |string 変数 b の iterator によって指定された範囲から文字列を生成 |逆順を指定すると、gcc 4.9.2 では basic_string::_S_create が "std::length_error" でコアダンプする |

//============================================================================
** 比較 [#ze22d38d]
- 2つの string 変数同士の比較には、以下の演算子が使用出来る
 == != < > <= >= 
- 大小比較については文字コード順に行われる。

//============================================================================
** 連結 [#wb027a67]
- 文字れ同士の連結には + 演算子を使用する

//============================================================================
** 文字列長の取得 [#gf9e5d1c]
- 以下の2つの関数がある。これらに挙動の差異はない。
-- size_type std::basic_string::length()
-- size_type std::basic_string::size()

//============================================================================
** 文字列を空にする [#qf83482d]
- void std::basic_string::clear()

//============================================================================
** empty(): 空文字かどうかを判定する [#n0279c8f]
- bool std::base_string::empty()

//============================================================================
** 文字列ポインタを取得する [#y0eb62c6]
- std::basic_string::c_str()
-- 末尾の NULL 文字を含めた文字列を返す。
- std::basic_string::data()
-- C++11になる前までは、末尾のNULL文字を含めない仕様になっていた。
- c_str(), data() とも、''文字列オブジェクトの内容が変化した時には無効になる''

//============================================================================
** iterator による操作 [#f3406696]






//////////////////////////////////////////////////////////////////////////////
* std::wstring [#wstring]
- wchar_t 型文字列
- 文字コードの規定はないが、wchat_t が2バイトの環境では UTF-16 の文字列として使われてきた。

//////////////////////////////////////////////////////////////////////////////
* C++11 の文字列関連 [#cpp11string]
- see also: [[u16string>Lang/C++/C++11/コンテナ#u16string]], [[u32string>Lang/C++/C++11/コンテナ#u32string]]


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS