【发布时间】:2019-09-02 19:39:18
【问题描述】:
在C++中,如果字符串是一个类,为什么我们不需要点运算符或对象来存储字符串中的数据?
经典字符串:
string str = "ABC";
为什么我们可以直接使用“”传递ABC,而不是像这样做
string str;
str.data = "ABC";
但是我们需要使用对象来访问这些功能。 示例:
str.length();
我们为什么要这样做?
字符串是某种特殊的类吗?
【问题讨论】:
-
在这种情况下,它是一个构造函数。但是 C++ 允许您重载运算符,这会使您看起来正在操作没有方法的对象,但这只是在对象上调用方法的语法糖。
-
std::string不是一种特殊的类,它是一种非常普通的类。我怀疑您熟悉其他语言并且会从a good book 中受益。