C++::将 ASCII 值转换为字符串

C++:: Convert ASCII value to string in

本文关键字:字符串 转换 ASCII C++      更新时间:2023-10-16

我正在尝试将表示字符的 ASCII 值的 int 转换为单字符字符串。

我尝试了以下方法,但它不起作用:
string s1=(char) 97;

但是,仅当我像这样将作业分开时,转换才有效:
string s1; s1=(char) 97;

我对此感到困惑,谁能解释一下其中的区别?


提前感谢!

我尝试了以下方法,但它不起作用:string s1=(char) 97;

这是因为 std::string 构造函数没有任何需要单个char的重载。而且,copy 被省略,因此直接调用构造函数,operator =()永远不会被调用(在 copy elision 上记录自己)。

仅当我像这样将作业分开时,转换才有效:string s1; s1=(char) 97;

现在副本不再被省略,您实际上是在调用std::string::operator =()确实有重载接受单个char