gpt4 book ai didi

c++ - 为什么我可以将 Int 分配给 String 而不会出现编译器错误?

转载 作者:太空狗 更新时间:2023-10-29 20:10:40 26 4
gpt4 key购买 nike

所有这些行编译并运行,输出中没有打印任何内容:

  std::string ss{6}; 
ss=7;
std::cout << "ss " << ss << "\n";

我没有看到任何暗示它可以将整数强制转换为字符串的 std::string 的引用构造函数,那么为什么编译器不报错呢?

最佳答案

“问题”是 std::string可从 char 分配和 int可隐式转换为 char .

看看std::basic_string::operator=第 (4) 点:

basic_string& operator=( CharT ch );

编辑

M.M's comment 中所述, std::string ss{6};调用构造函数 initializer_list<char> (参见 std::basic_string::basic_string (9) )......问题再次出现。

关于c++ - 为什么我可以将 Int 分配给 String 而不会出现编译器错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38048208/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com