char数组的模板类型推导

Sir*_*sto 4 c++ templates decltype string-literals

template<typename T>
class X;

int main() {
    X<decltype("")> x;
}
Run Code Online (Sandbox Code Playgroud)

为什么G ++演绎Tconst char (&)[1],而不是简单const char[1]

Nat*_*ica 7

与其他每个rvalue的文字不同,字符串文字是左值. decltype应用于左值表达式为您提供参考,因此const char (&)[1]是正确的行为.