1、用於初始化物件,避免定義僅賦值的建構函式。注意,如果定義了任意乙個建構函式,將不再合成預設建構函式,需要顯示定義。
class a
;int main()
; //等價於定義a(int ia, int ib, int ic): a(ia), b(ib), c(ic) {}
a a2 = ; //同上
a b; //等價於定義a(int ia, int ib): a(ia), b(ib) {}
a b2 = ; //同上
return 0;
}
2、各種變數賦初值
int r1 = ;
int r2;
vectorv1 = ;
vectorv2;
string s1;
int abc = ;
3、函式預設引數
typedef void (*fun_t)();
void fun(fun_t callback = {}, int p1 = {}, vectorp2 = {})
4、函式返回值
vectorfun1()
; return vector;
}int fun2()
; return ;
}a fun3()
;}
5、其他待補充 C 11之列表初始化
c 98使用 對陣列初始化 int arr int arr 4 但對於自定義型別會報錯 vectorv 內建型別 int x1 int x2 int x3 1 2 int x4 int x5 陣列 int arr1 5 int arr2 動態陣列 c 98不支援 int arr3 new int 5...
C 11 就地初始化與列表初始化
在 c 11 之前,只能對結構體或類的靜態常量成員進行就地初始化,其他的不行。class c class c or int b c 11 only int c 7 error 注意,小括號初始化方式不能用於就地初始化。c 11 支援了就地初始化非靜態資料成員的同時,初始化列表的方式也被保留下來,也就...
c 11 就地初始化與列表初始化
還可以看看 在c 11之前,只能對結構體或類的靜態常量成員進行就地初始化,其他的不行。class c class c 或int b c 11 only int c 7 error 1.2就地初始化與初始化列表的先後順序 c 11標準支援了就地初始化非靜態資料成員的同時,初始化列表的方式也被保留下來,...