向量字符串推导出什么类型?
我开始熟悉使用向量(阅读对 std::vector 的介绍),它显示以下代码作为示例:
// as with std::array, the type can be omitted since C++17
std::vector array4 { 9, 7, 5, 3, 1 }; // deduced to std::vector<int>
如果我用这个C ++ 17风格的初始化向量与字符串文字,什么类型将矢量演绎(即std::string,char*等)?
std::vector strArray {"Hello", "world", "!!!"};
回答
(即 std::string
不,字符串文字与 class 无关std::string。从技术上讲,如果 vector 有专门的推导指南,这可能会发生,但事实并非如此。
... 字符*
不,字符串文字是常量。
包含的类型将被推断为const char*。