开发平台(Platform): (Ex: Win10, Linux, ...)
Linux
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
GCC
问题(Question):
#include <iostream>
int main()
{
int a;
int *ptr = &a;
int b[10] = {0};
int &d = a;
decltype(*ptr) c1 = a;//int &
decltype(b[0]) c2 = a;//int &
decltype(ptr) c3 = &a; //int *
}
最近再看decltype,书上说c1,c2都是"int &"
虽然这是结果,可是其实我还是不是很懂,为何c1,c2不是"int"
有人能更好的解释为何c1,c2不应该是int??
还是就是规定没什么好说?
感谢各位