在C++中,如果字符串是一个类,为什么我们不需要点运算符或对象来存储字符串中的数据?
经典字符串:
string str = "ABC";
为什么我们可以直接用""传递ABC而不是像那样做
string str;
str.data = "ABC";
但是我们需要使用对象来访问函数。 示例:
str.length();
我们为什么要这样做?
string 是一类特殊的类吗?
最佳答案
string str = "ABC";
不是赋值。是建筑。具体来说,它调用带有 const char *
参数的 std::string
构造函数。
这和做一样
string str("ABC");
只是语法不同。
赋值也有效。你这样做:
string str;
str = "ABC";
另见:
关于c++ - 为什么我们不需要对象来存储字符串数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55644853/