#include
#include
using
namespace
std;
template
void add(t t, u u)
int main()
templatet, class
u>
auto add(t t, u u) -> decltype(t + u)
auto a = 10;
auto *pa = new
auto(a);
auto **rpa = new
auto(&a);
cout
<< typeid(a).name() << endl; // 輸出: int
cout
<< typeid(pa).name() << endl; // 輸出: int *
cout
<< typeid(rpa).name() << endl; // 輸出: int **
int i = 10;
int &r = i;
auto a = r;
a = 13; // 重新賦值
cout
<< "i = "
<< i << " a = "
<< a << endl; // 輸出i=10,a=13
// 顯式宣告
auto &b = r;
b = 15; // 重新賦值
cout
<< "i = "
<< i << " b = "
<< b << endl; // 輸出i=15,a=15
const
int c1 = 10;
auto c2 = c1;
c1 = 11; // 報錯,c1為const int型別,無法修改const變數
c2 = 14; // 正確,c2為int型別
// 顯示宣告
const
auto c3 = c1;
c3 = 15; // 報錯,c3為const int型別,無法修改const變數
int a[10];
auto b = a;
cout
<< typeid(b).name() << endl; // 輸出:int *
auto &c = a;
cout
<< typeid(c).name() << endl; // 輸出:int [10]
C 11新特性 auto關鍵字
熟悉指令碼語言的人都知道,很多指令碼語言都引入了 型別自動推斷 技術 比如python,可以直接宣告變數,在執行時進行型別檢查。隨著c 11標準的發布,c 語言也引入了型別自動推斷的功能,這就是我們今天要介紹的auto關鍵字。c 是一種強型別語言,宣告變數時必須明確指出其型別。但是,在實踐中,優勢我...
C 11新特性 auto關鍵字
在c 98標準中就存在著auto關鍵字,c 98標準中auto關鍵字用於自動變數的宣告,但在預設情況下即使不宣告auto,函式內部的變數也是具有自動儲存期的。因此由於使用極少且多餘,在c 11中已刪除這一用法。void fun c 11新標準引入了auto型別說明符,採用它可以讓編譯器幫助我們分析表...
C 11新特性 auto關鍵字
熟悉指令碼語言的人都知道,很多指令碼語言都引入了 型別自動推斷 技術 比如python,可以直接宣告變數,在執行時進行型別檢查。隨著c 11標準的發布,c 語言也引入了型別自動推斷的功能,這就是我們今天要介紹的auto關鍵字。c 是一種強型別語言,宣告變數時必須明確指出其型別。但是,在實踐中,優勢我...