7

我需要创建一个 100 个字符的字符串。

为什么会出现以下

std::string myString = {100, 'A'};

给出不同的结果

std::string myString(100, 'A');

?

4

2 回答 2

14
std::string myString = {100, 'A'};

是使用初始化列表进行初始化。它创建一个包含 2 个字符的字符串:一个带有代码 100 和 'A'

std::string myString(100, 'A');

调用以下构造函数:

string (size_t n, char c);

它创建了一个包含 100 个“A”的字符串

于 2013-03-13T16:19:29.253 回答
1

第一个将其初始化为 100 的值,A第二个调用构造函数重载std::string.

于 2013-03-13T16:17:57.757 回答