为什么C++ int转char可以直接(char)a,string也可以+=char,但""+(char)a就会乱码?
queue<string>q;
for(int i=32;i<126;i++){
q.push(""+(char)i);//有问题,q.front()甚至冒出来了一大段话
cout<<""+(char)i<<endl;//<-调试出现乱码
}
为什么C++ int转char可以直接(char)a,string也可以+=char,但""+(char)a就会乱码?
queue<string>q;
for(int i=32;i<126;i++){
q.push(""+(char)i);//有问题,q.front()甚至冒出来了一大段话
cout<<""+(char)i<<endl;//<-调试出现乱码
}
string是c++里特有的类型,里面重写了+方法,使char可以追加到string的后面
而""为了兼容c语言,类型依然是char[]而不是string
数组是不能+的