有人可以解释下面示例中初始化双花括号和单花括号之间的行为差异吗?使用双曲花括号初始化矢量<string>
代码#1:
vector<string> v = {"a", "b"};
string c(v[0] + v[1]);
cout << "c = " << c;
cout << "c.c_str() = " << c.c_str();
输出#1:
c = ab
c.c_str() = ab
代码#2:
vector<string> v = {{"a", "b"}};
string c(v[0] + v[1]);
cout << "c = " << c;
cout << "c.c_str() = " << c.c_str();
输出#2:
c = a\acke�Z\
c.c_str() = a
我测试代码#2并抛出异常行:'vector v = {{“a”,“b”}};' –
aghilpro