うおおお C++スタイルだとこんなことができるなんて全く知りませんでした!
C言語スタイルに慣れすぎてていやだ。
まず初めに
C++ Stringsを使う場合は、
#include <string> using namespace std;
上記がincludeされていることが条件
代表的な宣言と初期化
string s1; string s2 {"peronperon"}; string s3 {s2}; string s4 {"peronperon", 5}; string s5 {s3, 0, 5}; string s6 (3, 'X');
s1に関してはゴミデータなしで初期化できている。
s2はCスタイルっぽい
s3みたいに宣言されている変数を使って宣言&初期化もできる
s4は、左側の文字列を何文字使って初期化するか、例だと"peron"になる
s5は、初期化文字列(例だとs3の変数を使って初期化)、開始文字列、何文字使うか。例だと"peron"になる
s6は注意これだけ()で宣言。 例だとXXXになる。
string型は下記みたいに普通に代入できる
string s1;
s1 = "hello, peron peron!"
文字列の連結
string example1 {"lalala"}; string example2 ("hahaha"}; string example3 = example1 + example2; //lalala hahaha string example3 = "what" + "the" + "heck" // これはNG
配列の中身の見方
exchar[0] exchar.at(0)
とできる。
ちなみに、char型でもloopができる。
for (char c: exchar) { cout << c << endl;
頻繁に使われるfunction
exchar.substr(0,4); //pero exchar.find('p'); //0 exchar.length(); //5