初始化:对象在创建时(也就是定义时)获得了一个特定的值。
赋值:把对象的当前值擦除,而以一个新值来替代。
string s1;
string s2 = "hello"; // 初始化
s2 = s1; // 赋值
初始化方式,如四种将units_sold的int变量初始化为0的方式:
int units_sold = 0; // 使用等号
int units_sold = {0}; // 使用等号和花括号
int units_sold{0}; // 列表初始(C++11)
int units_sold(0); // 使用括号
初始化类型 | 类型 | 解释 |
值初始化 | 显式的初始化。 | |
直接初始化 | 不使用等号的初始化 | |
拷贝初始化 | 使用等号的初始化 | |
默认初始化 | 定义变量时没有指定初值,则变量被默认初始化,此时变量被赋予了“默认值”。具体是什么由变量类型决定,同时定义变量的位置也会对此有影响。 | |
内置类型 | 内置类型的没有被显式初始化,其值由定义的位置决定。
| |
类类型 | 类的对象如果没有显式初始化,其值由类确定。 |
int units_sold = int(); // 值初始化
int units_sold = 0; // 值初始化
int units_sold; // 默认初始化