我只是想知道是否有一种不使用循环就将指向所有空值的指针初始化数组设置的方法吗?

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

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

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

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

谢谢。

#1楼 票数:3 已采纳

您可以使用:

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

#2楼 票数:1

如果您使用std :: array,则默认情况下会将其初始化为nullptr。

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

#3楼 票数:0

使用Visual Studio编译器,您可以在初始化器列表中将指向NULL的指针初始化,如下所示:

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

  ask by Andy Lin translate from so

未解决问题?本站智能推荐:

2回复

如何在C ++中定义一个const指针数组?

有没有办法定义一个指针数组,以便任何指针是const? 例如,可以定义char** array因此array[0]是const而array[1]是const等,但是array是非const而array[j][i]是非const?
3回复

SmartPointers和数组指针

美好的一天! 关于智能指针的小问题。 通常,我有指向BYTE数组的指针,我想使用std::shared_ptr而不是普通指针。 这是我的指针示例 当然这是无效的示例,但是如何将我的smartpointer分配给其他通用指针?
3回复

指针和数组

为什么指针数组“等价”在以下情况下不起作用? 谢谢
1回复

C ++-在构造函数中初始化指针数组

我需要一个定义为类属性的char *数组,并使用该类的构造函数内部的长度对其进行初始化。 例如: Foo.h: Foo.cpp: 不确定语法...我只看过声明了具有长度的指针数组。 我想知道如何先声明它,然后再设置/重新声明一个新的长度。
4回复

指向2D数组的指针的类型是什么?

我知道以下内容不正确: 但我很惊讶以下几行确实有效 任何人都可以解释在第二个代码块中分配给ptr的类型是什么,以及下面发生了什么?
3回复

将数组显式衰减为指针

将数组显式衰减为指针的最简洁和惯用的方法是什么? 例如,考虑一下您需要能够指导SFINAE或明确说明过载的情况:
6回复

是否可以重载一个可以从指针中分辨出固定数组的函数?

动机: 几乎是为了好玩,我试图编写一个函数重载,它可以区分参数是固定大小的数组还是指针。 我发现这特别困难,因为众所周知的事实是数组迟早会衰减为指针。 一种天真的方法是写 不幸的是,这不起作用。 因为在最好的情况下,编译器确定上面的数组调用f(d)是不明确的。 部分解决方案: 我尝试了
2回复

如何移动到智能指针数组中的下一个指针

我一直在尝试弄清楚Smart Pointer数组如何与测试程序一起工作,该测试程序一次要在文件中读取一个char,并将每个char存储在所述数组中的指针处。 但是,我一直在增加指针以设置数组的后续变量时遇到麻烦。 虽然没有智能指针,但是我可以简单地输入例如 并允许我为指针数组中的每个