私はC++の初心者ですので、質問があまりにも基本的であれば申し訳ありません。C++空文字列コンストラクタ
私は文字列constrctursを収集し、それらを覚えてみることを試みました。
string strA(); // string(); empty string // incorrect
string strB("Hello"); // string(const char* str)
string strC("Hello",3); // string(const char* str, size_type length)
string strD(2,'c'); // string(size_type lenght, const char &c)
string strE(strB); // string(const string& s)
cout << strA << endl;
cout << strB << endl;
cout << strC << endl;
cout << strD << endl;
cout << strE << endl;
それらのすべては、ストラを除いて動作します。 "1"が印刷されます。 なぜですか?この場合のstrAのタイプは何ですか?私が不確かなときに、どのように物の種類を確認できますか?
私は正しい方法は、(時には何の括弧を括弧ない、途中で他のコンストラクタと矛盾するように思われた)このあることに気づいた:
string strA;
PS:太字の質問、通常は無関係答えは下落します。
これが私がC++の使用をやめた理由の1つです。 –
@Dietrich Epp:これも私を悩ませました。私はCの互換性を保つために支払った価格だと思います。そのメトリックトンの問題を抱えているCを使用している代わりに、私の推測ではC++を保ち、その落とし穴を避ける方が良いということです。 – paercebal
'std :: string strA(" ");' – CaptainDaVinci