对象的成员的初始化
變量類型:
1. 內置基本類型:? int, char, bool,
2. 復合類型 (compound type): 指針、引用、數組
3. 類類型: struct, class? ?(string,vector等)
========================================================================?
定義變量時:
一:進行“初始化”:可分為
①指定值?初始化:
int i = 3;??
Dog dog("snoopy");
?、?span style="color:#ff0000;">使用默認值 初始化(不指定值):
(在全局范圍)int i;? ? ?——> 在全局范圍定義的 內置類型默認時被初始化為0值
? Dog dog;? ? ?——>? 成員變量:【默認構造函數的方案】
(一)類類型成員變量使用該類型的默認構造?
(二)內置類型、指針不會默認初始化——> Dog的默認構造函數中應對內置基本類型/指針進行顯式初始化為0值
(三)引用類型成員必須在構造時綁定已存在的對象?!?gt; 不要把引用類型作為成員變量。
二:不進行初始化:? ——> 此時只分配內存空間,值是未定義的(該地址上原有的0/1信息),若使用會導致未定義的行為
(在函數體內)int i;? ?
(在函數體內) int* pt; (并不等于nullptr !)
(作為成員變量,在構造函數中未指定值時)
?
?
?
?
?
轉載于:https://www.cnblogs.com/nanlan2017/p/9230301.html
總結
- 上一篇: opencv-原图基础上添加指定颜色
- 下一篇: 带蓝牙5.0芯片选型厂商总结和市场趋势分