title: decltpye:讲解
date: 2023-08-15 00:03:52
categories:
Effective Modern C++
decltpye:讲解
1.decltype()里面直接填写变量名会直接使用变量类型不会发生退化情况.
2.decltype()里面放入表达式会根据表达式的返回类型进行返回.如果返回是个左值就会返回其类型的引用,如果是右值会直接返回其类型而不是引用(返回类型不是左值就是右值).
3.decltype不会计算填写的表达式,也就不会修改填写的内容数据.
decltype使用场景:
在使用函数模板时在某些情况是没法获取集体返回类型可以通过次关键字进行推导.
C++11:放到函数声明尾部 auto fun()->decltype(表达式){ };
C++14:直接可以放在头部 decltype(表达式) fun(){ };