C++11 新增关键字decltype学习
生活随笔
收集整理的這篇文章主要介紹了
C++11 新增关键字decltype学习
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
decltype 是 C++11 新增的一個關鍵字,它和 auto 的功能一樣,都用來在編譯時期進行自動類型推導。
decltype 是“declare type”的縮寫,譯為“聲明類型”。
auto 并不適用于所有的自動類型推導場景, decltype 關鍵字也被引入到 C++11 中。
auto 和 decltype 用法:
auto varname = value;
decltype(exp) varname = value;
其中,varname 表示變量名,value 表示賦給變量的值,exp 表示一個表達式。
auto 根據=右邊的初始值 value 推導出變量的類型,而 decltype 根據 exp 表達式推導出變量的類型,跟=右邊的 value 沒有關系。
另外,auto 要求變量必須初始化,而 decltype 不要求。
原則上講,exp 就是一個普通的表達式,它可以是任意復雜的形式,但是我們必須要保證 exp 的結果是有類型的,不能是 void;
#include <iostream>using namespace std;int main() {int a = 0;decltype(a) b = 1; //b 被推導成了 intdecltype(10.8) x = 5.5; //x 被推導成了 doubledecltype(x + 100) y; //y 被推導成了 doublecout << a << endl;cout << b << endl;cout << x << endl;cout << y << endl;getchar();return 0; }先設置Dev C++支持C++11;?
運行如下;
看一下Dev C++,自帶的編譯器是GCC;也可以添加其他C++編譯器;
?
總結
以上是生活随笔為你收集整理的C++11 新增关键字decltype学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MFC视图滚动条的基本使用和C语言输出三
- 下一篇: jsp动作元素include学习