如何将int转char,再转string?

为什么C++ int转char可以直接(char)a,string也可以+=char,但""+(char)a就会乱码?

queueq;
for(int i=32;i<126;i++){
    q.push(""+(char)i);//有问题,q.front()甚至冒出来了一大段话
    cout<<""+(char)i<//<-调试出现乱码
}

string是c++里特有的类型,里面重写了+方法,使char可以追加到string的后面
而""为了兼容c语言,类型依然是char[]而不是string
数组是不能+的

“” is c type char[] not string