【发布时间】:2009-05-29 11:18:22
【问题描述】:
我是 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;
除了 strA 之外,所有这些都有效。它打印“1”。 为什么?在这种情况下 strA 的类型是什么?当我不确定时如何检查物品的类型?
我注意到正确的方法是这样(顺便说一句,这似乎与其他构造函数不一致,有时parens有时没有parens):
string strA;
ps:粗体问题,通常不相关的答案将被否决。
【问题讨论】: