您的位置:首页 > 编程语言 > C语言/C++

C++学习笔记-----std::string的=,+,+=对int,char类型操作数的支持

2017-07-31 23:34 417 查看
C++中提供了封装的字符数组std::string,同时提供了多种方便的运算操作。

调用构造函数时的=运算符不支持int,char类型的操作数

string str1 = 'a';  //error
string str2 = toupper('a');  //error


错误信息:不存在从char(int)转换到std::string的适当构造函数

调用赋值运算函数时的=运算符支持int,char类型的操作数

string str = "aaa";
str = 'a';  //ok
str = toupper('a');  //ok


+运算符支持char类型的操作数,不支持int类型的操作数

string str = "aaa";
str = str + 'a';  //ok
str = str + ('a' - 32);  //error
str = str + toupper('a');  //error


因为字符的加减和toupper()函数返回int类型,在与string做加法运算时不能使用

+=运算符支持int,char类型的操作数

string str = "aaa";
str += 'a';  //ok
str += ('a' - 32);  //ok
str += toupper('a');  //ok


另,想要将int转换成字符串,比如说将111转换成”111”,可以使用to_string(int)函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  string