直接初試化,拷貝初試化,值初試化

列表初試化:用花括號初試化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
相關文章
相關標籤/搜索