为什么我不能单独打印复制的字符串?
string s="1 23";
string a;
a[0]=s[2];a[1]=s[3];
cout<<a;
在这里,我无法获得输出字符串 a。但是我可以通过 a[0] 获取所有单个元素。
回答
因为a是空的,a[i]所以对每一个可能的访问它都越界i,导致未定义的行为。
使用a.push_back(s[i])字符到a。
string s="1 23";
string a;
a[0]=s[2];a[1]=s[3];
cout<<a;
在这里,我无法获得输出字符串 a。但是我可以通过 a[0] 获取所有单个元素。
因为a是空的,a[i]所以对每一个可能的访问它都越界i,导致未定义的行为。
使用a.push_back(s[i])字符到a。