为什么我不能单独打印复制的字符串?

Cha*_*ani -6 c++ c++14

string s="1 23";
string a;
a[0]=s[2];a[1]=s[3];
cout<<a;
Run Code Online (Sandbox Code Playgroud)

在这里,我无法获得输出字符串 a。但是我可以通过 a[0] 获取所有单个元素。

Hol*_*Cat 7

因为a是空的,a[i]所以对每一个可能的访问它都越界i,导致未定义的行为。

使用a.push_back(s[i])字符到a