字符串 s2("hi");
我是否必须编写一个隐式字符串构造函数
String::String(const char* str);
或者
这个构造函数会处理它吗:
String::String(const String &str);
字符串 s2("hi");
我是否必须编写一个隐式字符串构造函数
String::String(const char* str);
或者
这个构造函数会处理它吗:
String::String(const String &str);
当你创建这个字符串对象时,会调用string(const char* s)构造函数,所以不需要编写构造函数。
这是在 std::string 类中定义的构造函数
string();
string (const string& str);
string (const string& str, size_t pos, size_t len = npos);
string (const char* s);
string (const char* s, size_t n);
string (size_t n, char c);
template <class InputIterator>
string (InputIterator first, InputIterator last);
进一步不要尝试编辑一些标准库,这会导致不必要的问题。如果您想要任何自定义功能,请编写自己的包装器。
std::string 已经有一个构造函数来处理这个。std::string s2("hill") 将毫无问题地工作。