字符数组的模板类型推断

Template type deduction for char array

本文关键字:类型 数组 字符      更新时间:2023-10-16
template<typename T>
class X;
int main() {
    X<decltype("")> x;
}

为什么 g++ 将T推断为const char (&)[1]而不是简单的const char[1]

与作为右值的所有其他文本不同,字符串文本是左值。 应用于左值表达式decltype为您提供引用const char (&)[1]因此这是正确的行为。