【发布时间】:2014-10-24 14:47:15
【问题描述】:
我是 C++ 的新手,目前正在学习字符串。
所以,我很熟悉这种从 Java 创建字符串的方式:
string text = "hello";
现在,我看到了类似的东西:
std::string text("hello");
所以,第二个看起来有点难以阅读,因为我不知道 :: 是什么意思。
为什么有两种构建字符串的方法?
它们有什么区别?
什么情况下我更喜欢使用一种方式而不是另一种方式?
【问题讨论】:
-
So, I'm familiar with this way of creating a string from Java:假装 Java 不存在。您要问的是基本的 C++ 问题,大多数 C++ 入门书籍都可以回答这些问题。 -
我不知道你在哪里看到第二行,但在标准 C++ 中没有名为
std::str的东西。 -
string text = "hello";这不是 java 这是 c++。 ` std::str("hello");`你在哪里看到的?看书。 -
::只是 C++ 中的命名空间分隔符。这类似于在 Java 中使用.分隔包/类型名称的方式。 -
我已经很久没有用Java编程了,但我很确定它有赋值运算符和构造函数,就像你一样看这里。