C++11:decltype类型推导及追踪返回值类型
C++11:decltype类型推导及追踪返回值类型
使用decltype
进行自动类型推导
先看一段cppreference
上面的解释:decltype 指定符
可以看下面的一段代码:
|
|
再这段代码里面,首先定义了一个匿名的结构体anon_u
,然后又定义了一个新的匿名结构体,其中有一个成员id
,这时候并没有给它指明类型,而是让编译器自己去推导,指定id
的类型为anon_u
代表的这个类型。起到了重用匿名结构体的作用。
比如以下代码可以更容易的看出decltype
关键字的作用。
|
|
泛型编程中结合auto,用于追踪函数的返回值类型
这也是decltype
最大的用途了。
|
|
追踪返回类型的函数
作用是:可以将返回类型的声明信息放到函数参数列表的后面进行声明。如:
普通函数声明方式:
|
|
追踪返回类型的函数声明:
|
|
追踪返回类型在原本函数返回值的位置使用auto
关键字。
这个方法配合上面讲的泛型编程中结合auto,用于追踪函数的返回值类型,可以对程序开发灵活性有比较大的提高。
最后修改于 2019-01-02
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。