在C ++中将指针数组的所有元素设置为nullptr

时间:2017-08-16 00:14:44

标签: c++ arrays c++11 pointers

我只是想知道是否有办法在不使用循环的情况下设置一个指向所有空值的初始化指针数组?

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

我想在调用构造函数时将所有指针设置为null:

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

这不起作用,product_必须是可修改的值。 有没有比循环2000元素更简单的方法?

感谢。

3 个答案:

答案 0 :(得分:3)

您可以使用:

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

答案 1 :(得分:1)

如果使用std :: array,默认情况下它们将被初始化为nullp。

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

答案 2 :(得分:0)

使用Visual Studio编译器,您可以在初始化程序列表中将指针初始化为NULL,如下所示 -

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