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

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)函数。

你可能感兴趣的:(C++,string)