2018年03月03日
《その316》 stringクラス(2)
string型文字列の生成
以下は、プログラムです。
#include <string>
#include <iostream>
using namespace std;
int main() {
cout << "【string型オブジェクトの生成】\n\n";
cout << " 空のstring型文字列\n";
cout << " string s0;\n";
string s0;
cout << " s0.size() … " << s0.size()
<< "\n\n";
cout << " 文字列リテラルをコピー\n";
cout << " string s1(\"ABCDEF\");\n";
string s1("ABCDEF");
cout << " s1 … " << s1 << "\n\n";
cout << " string型文字列をコピー\n";
cout << " s2(s1);\n";
string s2(s1);
cout << " s2 … " << s2 << "\n\n";
cout << " char型文字列をコピー\n";
cout << " char a[] = { \"PQRSTU\" };\n";
cout << " string s3(a, a + sizeof(a) / "
"sizeof(a[0]));\n";
char a[] = { "PQRSTU" };
string s3(a, a + sizeof(a) / sizeof(a[0]));
cout << " s3 … " << s3 << "\n\n";
cout << " 文字数分の容量を確保し指定文字"
"で埋める。\n";
cout << " string s4(6, 's');\n";
string s4(6, 's');
cout << " s4 … " << s4 << "\n\n";
cout << " 文字列リテラルの範囲を指定して"
"コピー\n";
cout << " const char* b = \"0123456789\""
";\n";
cout << " string s5(b + 2, b + 8);\n";
const char* b = "0123456789";
string s5(b + 2, b + 8);
cout << " s5 … " << s5 << "\n\n";
cout << " s5[2]を先頭とする 3文字をコピ"
"ー\n";
cout << " string s6(s5, 2, 3);\n";
string s6(s5, 2, 3);
cout << " s6 … " << s6 << "\n\n";
cout << " 反復子で範囲を指定してコピー"
"\n";
cout << " string c(\"STUVWXYZ\");\n";
cout << " string s7(c.begin() + 2, c.e"
"nd());\n";
cout << " string s8(c.rbegin(), c.rend"
"() - 2);\n";
string c("STUVWXYZ");
string s7(c.begin() + 2, c.end());
string s8(c.rbegin(), c.rend() - 2);
cout << " s7 … " << s7 << '\n';
cout << " s8 … " << s8 << "\n\n";
cout << " operator= を使ってコピー\n";
cout << " string s9 = a;\n";
cout << " string s10 = b;\n";
cout << " string s11 = c;\n";
string s9 = a;
string s10 = b;
string s11 = c;
cout << " s9 … " << s9 << '\n';
cout << " s10… " << s10 << '\n';
cout << " s11… " << s11 << "\n\n";
cout << " string型文字列を破棄\n";
cout << " s11.~string();\n";
s11.~string();
cout << " s11… " << s11 << '\n';
cout << " s11.size() … "
<< s11.size() << '\n';
}
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/7385749
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック