/app/public/cars/music/song.mp3
我在代码中声明一个字符串,然后使用数组索引分配字符值。当我打印字符串时,它没有输出。我的问题是为什么呢?
没有给出输出的原因是什么?
答案 0 :(得分:4)
您要尝试的操作有undefined behavior。
string s;
默认初始化(大小为零),然后访问不存在的元素。
要解决此问题,您只需使用string s = "ab";
或
std::string s;
s.push_back('b');
s.push_back('a');
或建议使用@ bindsniper001(但是您不能以这种方式添加字符串的长度):
std::string s2(2, ' ');
s2[0] = 'c';
s2[1] = 'd';
在godbolt上直播