小编use*_*782的帖子

c ++ 11 decltype返回引用类型

我有点困惑为什么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!

任何人都可以解释一下吗?

c++ decltype c++11

4
推荐指数
1
解决办法
163
查看次数

标签 统计

c++ ×1

c++11 ×1

decltype ×1