2017-08-16 26 views
0

我只是想知道是否有一種方法可以在不使用循環的情況下將指針的初始化數組設置爲全空值?在C++中將指針數組的所有元素設置爲nullptr

class Abc{ 
    //An array of 2000 Product pointers 
    Product* product_[2000]; 
     public: 
     Abc(); 
} 

我想所有的指針設置爲null時調用構造函數:

Abc::Abc(){ 
    product_ = {}; 
} 

這不起作用,product_必須是一個可修改。 有沒有比循環2000元素更簡單的方法?

謝謝。

+2

你有對循環什麼初始化列表? –

+3

'Abc :: Abc():product_ {} {}' –

回答

3

您可以使用:

class Abc{ 
    //An array of 2000 Product pointers 
    Product* product_[2000]; 
     public: 
     Abc() : product_{} {} 
}; 
1

如果您使用std ::陣列,他們將被初始化爲默認nullptr。

std::array<Product *, 2000> product; 
0

與Visual Studio編譯器可以初始化指針爲NULL像如下─

class Abc{ 
    //An array of 2000 Product pointers 
    Product* product_[2000]; 
     public: 
     Abc():product_(){}; 
} 
相關問題