直接初试化,拷贝初试化,值初试化

列表初试化:用花括号初试化ios

直接初试化:将参数放在括号中初试化程序员

拷贝初试化:用=或者将累的对象当作初试化的参数函数

值初试化:C++中用new开辟的空间经过在要初始化的空间的类型名后跟()来启用值初始化,而库类型则自动对未初始化的变量启用值初始化spa

    1. 当变量为内置类型,值初始化用0来对其初始化。code

    2. 当变量为类类型,值初始化用该类的默认构造函数初始化。对象

    3. 当变量为类类型且没有默认构造函数时,值初始化要求程序员提供初始化值。blog

默认状况下,动态分配的对象时默认初始化的,这意味着内置类型或组合类型的对象的值时未定义的,而类类型对象将默认构造函数进行初始化;也能够对动态分配的对象进行值初始化,只需在类型名以后跟一对空括号便可。io

合成的默认构造函数中,若是是类对象,那么调用这个对象的默认构造函数,若是是内置类型则未定义。class

#include <iostream>
using namespace std;

class A{
public:
private:
    A &operator=(const A&);
    int a;
};

int main(int argc, char **argv)
{
    A a, *pa = new A();
    return 0;
}
a={a=-6589}    //没有给a初试化
*pa={a=0}        //内置类型初试化为0
相关文章
相关标签/搜索