c – 为什么我可以在没有编译器错误的情况下将Int分配给String?
发布时间:2020-12-16 10:03:20 所属栏目:百科 来源:网络整理
导读:所有这些行都编译并运行,输出中没有打印: std::string ss{6}; ss=7; std::cout "ss " ss "n"; 我没有看到std :: string的任何引用构造函数,它会建议它可以将整数强制转换为字符串,那么为什么编译器不会抱怨呢? 解决方法 “问题”是可以从char分配std :: s
所有这些行都编译并运行,输出中没有打印:
std::string ss{6}; ss=7; std::cout << "ss " << ss << "n"; 我没有看到std :: string的任何引用构造函数,它会建议它可以将整数强制转换为字符串,那么为什么编译器不会抱怨呢? 解决方法
“问题”是可以从char分配std :: string,并且int可以隐式转换为char.
看看std::basic_string::operator=点(4): basic_string& operator=( CharT ch ); 编辑 如M.M’s comment所述,std :: string ss {6};调用构造函数采用initializer_list< char> (见 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |