在C++中将指针数组的所有元素设置为 nullptr
Setting all elements of an array of pointers to nullptr in C++
我只是想知道是否有一种方法可以在不使用循环的情况下设置指向所有空值的初始化指针数组?
class Abc{
//An array of 2000 Product pointers
Product* product_[2000];
public:
Abc();
}
我想在调用构造函数时将所有指针设置为 null:
Abc::Abc(){
product_ = {};
}
这不起作用,product_必须是可修改的值。 有没有比循环 2000 个元素更简单的方法?
谢谢。
您可以使用:
class Abc{
//An array of 2000 Product pointers
Product* product_[2000];
public:
Abc() : product_{} {}
};
如果你使用 std::array,它们将默认初始化为 nullptr。
std::array<Product *, 2000> product;
使用Visual Studio编译器,您可以在初始值设定项列表中初始化指向NULL的指针,如下所示-
class Abc{
//An array of 2000 Product pointers
Product* product_[2000];
public:
Abc():product_(){};
}
相关文章:
- 在QComboBox或QListWidget中设置所选元素的样式文本?
- 如果我在相应 char 数组的声明中为其提供额外的元素,是否会自动设置 NULL?
- 无法在构造函数中执行设置元素插入
- 循环中的变量被设置为下一个数组的元素始终具有相同的内存地址?
- 为 unordered_map 中的元素设置默认构造函数(如果是 [] 运算符)
- 在C++中将指针数组的所有元素设置为 nullptr
- C++:如何将枚举元素设置为无限?
- 如何在类中初始化数组并为第一个元素设置值
- 如何将Bools中的一个元素设置为true
- 如何将布尔矩阵的每个元素设置为false而不循环
- 将数组中的元素设置为 0 或 NULL
- 使用 while / do-while 循环进行数组元素设置
- C++:数组元素设置为0
- 将元素设置在两个尺寸 std::vector
- 为什么将地图的元素设置为其大小会在分配之前增加大小*
- 如何简洁地将cv::Mat中的每个元素设置为一些标量,如cvSet
- c++默认初始化是否将数组元素设置为默认值?
- 如何将数组中的每个元素设置为0
- 将结构体元素设置为定义中的值
- C++ DirectX11 将同一矢量中的元素设置为同一更新循环中的不同位置