c++ - C++中字符串的初始化方法

标签 c++

以下几种方式初始化字符串有什么区别?

string s = "Hello World";

string s[] = {"Hello World"};

据我了解,前者是一个类(class)?后者是一个数组?此外,除了这两种方式之外,还有其他方式吗?

最佳答案

在第一个示例中,您定义了一个类 string 的对象。 在第二个中,您声明了一个未定义长度的字符串数组(由编译器计算,基于您在初始化列表中定义的对象数量)并使用“Hello World”初始化一个 string 对象。因此,您创建了一个大小为 1 的数组。

string s = "Hello World";
string s2[] = {"Hello World"};

在此之后,ss2[0] 包含其中包含相同字符的字符串。

关于c++ - C++中字符串的初始化方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34290269/

相关文章:

C++ Windows 暂停定时器

c++ - 当目标指针不是基类的类型时,为什么允许dynamic_cast为多态类生成空指针?

c++ - 无法在我的 ubuntu 中正确安装 MySQL connector/c++

c++ - C++11 中的统一初始化和默认构造函数参数

c++ - 结构 vector ,我不知道该怎么做

c++ - GCC 声明友元函数重载,调用不明确,clang 编译

c++ - 运算符++ 中的 Int 参数

c++ - 如何使这个转换隐含?

用于可变大小数组的 C++ 合并排序算法

c++ - 两个经过修饰的名称分解为相同的函数签名