相关疑难解决方法(0)

为什么字符串文字上的decltype不会产生数组类型?

该标准定义了字符串文字的类型,在§2.13.5/ 8中,如下:

普通字符串文字和UTF-8字符串文字也称为窄字符串文字.窄字符串文字的类型为"n const char数组",其中n是下面定义的字符串大小,并且具有静态存储持续时间(3.7).

因此,例如,"sss"应该有一个类型char const[4](除非我读错了).

但这个简单的片段:

std::cout << std::boolalpha << std::is_pointer<decltype("sss")>::value << '\n';
std::cout << std::boolalpha << std::is_array<decltype("sss")>::value;
Run Code Online (Sandbox Code Playgroud)

给出:

false
false
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

c++ arrays string decltype c++11

10
推荐指数
2
解决办法
972
查看次数

标签 统计

arrays ×1

c++ ×1

c++11 ×1

decltype ×1

string ×1