网站建设功能的策划书,做一套网页设计多少钱,网站维护需要用到哪些知识,如何在电脑上建立网站上一节所讲的 auto#xff0c;用于通过一个表达式在编译时确定待定义的变量类型#xff0c;auto 所修饰的变量必须被初始化#xff0c;编译器需要通过初始化来确定 auto 所代表的类型#xff0c;即必须要定义变量。若仅希望得到类型#xff0c;而不需要(或不能)定义变量的… 上一节所讲的 auto用于通过一个表达式在编译时确定待定义的变量类型auto 所修饰的变量必须被初始化编译器需要通过初始化来确定 auto 所代表的类型即必须要定义变量。若仅希望得到类型而不需要(或不能)定义变量的时候应该怎么办呢? C11新增了 decltype 关键字用来在编译时推导出一个表达式的类型。 它的语法格式如下: decltype (exp) 其中exp表示一个表达式 (expression)。 从格式上来看dectype 很像sizeof一用来推导表达式类型大小的操作符。类似于sizeof,decltype 的推导过程是在编译期完成的并且不会真正计算表达式的值。 decltype在技术和使用上和sizeof非常像都需要编译器在编译期计算类型但是sizeof返回的是整数而decltype得到的是类型。
decltype和auto的异同
与auto不同点
decltypr的类型推导并不是像auto一样是从变量声明的初始化表达式获得变量的类型decltype总是以一个普通的表达式为参数返回该表达式的类型。
与auto相同点
①、作为一个类型指示符decltype可以将获得的类型来定义另外一个变量
②、declttype类型推导也是在编译时进行的
示例如下