【C++11類型推導】html
一、使用auto的時候,編譯器根據上下文狀況,肯定auto變量的真正類型。auto在C++14中能夠做爲函數的返回值,所以auto AddTest(int a, int b)的定義是沒問題的。函數
auto AddTest(int a, int b) { return a + b; } int main() { auto index = 10; auto str = "abc"; auto ret = AddTest(1,2); std::cout << "index:" << index << std::endl; std::cout << "str:" << str << std::endl; std::cout << "res:" << ret << std::endl; }
二、只能用於定義函數,不能用於聲明函數。spa
#pragma once class Test { public: auto TestWork(int a ,int b); };
但若是把實現寫在頭文件中,能夠編譯經過,由於編譯器能夠根據函數實現的返回值肯定auto的真實類型。code
#pragma once class Test { public: auto TestWork(int a, int b) { return a + b; } };
三、htm
auto 關鍵字。這會依據該初始化子(initializer)的具體類型產生參數:blog
除此以外,decltype 可以被用來在編譯期決定一個表示式的類型。ip
參考:get
一、http://www.javashuo.com/article/p-qazjplio-er.html
編譯器
二、it