long indeed(int); decltype (indeed(3)) m; m是什么型啊?long还是int?
long indeed(int);
decltype (indeed(3)) m;
m是什么型啊?long还是int?
xungeer29
浏览 1339回答 1
1回答
onemoo
long。decltype 会得到后面括号中“内容”的类型(以及值类别),括号中可以是表达式。你这里的表达式就是函数调用表达式。函数调用表达式的类型就是函数返回类型,而且像这样返回类型非引用的会被视为右值。函数调用表达式的类型与函数参数无关。decltype 在推导右值类型时就会得到原始类型。所以最终推导出的类型是 long