Directory
Reference
初始化与赋值
初始化与赋值是完全不同的两个操作。
初始化的含义是在创建变量时赋予初始值,而赋值是指把对象的当前值擦除,以新值替代。
拷贝初始化与直接初始化
拷贝初始化 copy initialization
直接初始化 direct initialization
string s5 = "hiya"; //拷贝初始化
string s6("hiya"); // 直接初始化
string s7(10,'c'); //直接初始化
如上,如果使用等号=
初始化变量,实际上执行的是拷贝初始化,编译器把右侧的初始值拷贝到新创建的对象中。当需要对多个值使用拷贝初始化时,需要显式的创建一个(临时)对象用于拷贝。
string tmp(10,'c');
string s8 = tmp;
上一篇 Blog 历史变化
下一篇 顶层const与底层const