首页 > 代码库 > c++ 初始化(1)

c++ 初始化(1)

当对象在创建时获得了一个特定的值,我们说这个对象被初始化了。

c++语言用等号=来初始化,很多人会将其误认为是赋值,其实两者是完全不同的。这个概念非常重要。

  • 初始化的不同方式

  • 默认初始化

默认初始化包括直接初始化和不被初始化。

直接初始化时,变量会被赋予默认值。默认值到底是什么由变量类型决定。如果是类的话,类可以掌控自己的初始化。

一个不被初始化的变量的值是未定义的。

  • 列表初始化

即为使用花括号的初始化。

若使用列表初始化时有丢失信息的风险,编译器将报错。

long double ld = 3.1415926;
itn a{ld}, b = {ld}; //正确
int c(ld), d = ld; // 错误
  • 拷贝初始化

用等号的初始化叫做拷贝初始化。

例如说:string s5 = "hiya";,hiya\n这个字面值的\n被省略掉了,剩下的赋值给s5。

  • 直接初始化

用小括号的初始方法。

c++ 初始化(1)