我有点困惑为什么decltype逗号运算符在某些情况下返回引用类型.
例如,在此代码中:
int i = 101;
decltype(1, i) var = i;
var = 20;
printf("%d\n", i); // will print 20
Run Code Online (Sandbox Code Playgroud)
这里,var是int而不是int,但如果我用第二行替换:
decltype(i) var = i;
Run Code Online (Sandbox Code Playgroud)
它将返回int!
任何人都可以解释一下吗?