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

2022-02-27 00:00:00 c++ c++14
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添加字符。

相关文章