我面对这个问题进行C++考试,而且我认为我知道答案,这个问题让我很困惑,我宁愿每个人都说"第二意见"......哈哈.
a)文字
"Hello, World!"是C风格的字符串.它的类型是什么?b)鉴于C风格字符串的类型和类型
std::string不同,如何在std::string hello("Hello,World!");没有错误/警告的情况下编译该行(假设<string>已包含标题)?
根据我的理解,C-Style字符串是类型(a)字符数组,而std::string类型为字符串...和(b)它编译的原因是在C++中整个转换为字符,所有这些都是在"引擎盖"由类型字符串而不是"在代码中".
我对么?
谢谢!
你说的内容可能足够接近被称为"真实",尽管你遗漏了一些细节."Hello, World!"C++ 中的文字类型是const char[14].正如你所说,这是一个字符数组,但大小是类型的一部分.
std::string有一个构造函数const char*,并且有一个隐式转换从const char[14]到const char*.这两个一起处理(b).
但是,没有涉及"铸造角色".