零初始化类构造函数C 中的多维数组
Zero initialize multidimentional array in class constructor C++
是否有一种方法(带有C 11)可以在类构造函数中零inialize a 多维数组?
这将整个数组初始化为零或仅限第一个维度?
class Example
{
public:
int array[100][100];
Example():array{}
{
};
};
最后,这将与枚举类型一起使用?
数组中的值initialization将在数组中的每个元素进行价值initialial。您有一个数组数组,因此每个元素(数组)都将被值进行价值化。从那里,返回每个数组发生的事情的答案的第一句话。
您第二个问题的答案是,常规枚举是标量,因此是价值限制的,就像您数组中的int
值一样,也就是说它们是 Zero Zero-Initialialized 。如果您有没有0值表示的枚举,则可能会出现问题:
#include <iostream>
enum EnumStuff
{
one = 1,
two = 2,
three = 3
};
int main()
{
EnumStuff arr[10][10]{};
for (auto const&x : arr)
{
for (auto y : x)
std::cout << static_cast<int>(y) << ' ';
std::cout << 'n';
}
}
EnumStuff
中没有0值。只是要记住的事情。例如,switch
仅寻找 例如,这三个值将被判处孤立(此后不久,您可能会使用它)。
最佳幸运
值初始化(即用 {}
)用于多维数组的所有元素,因此所有10000个元素都具有值0。
相关文章:
- C++使用整数的压缩数组初始化对象
- C++17中函数模板中的静态数组初始化(MSVC 2019)
- 从另一个静态常量数组初始化静态常量数组(只需少量计算)
- 在 Python 和 c++ 2d 数组初始化之间.这是怎麽?为什么呢?
- 字节数组初始化会导致 DirectX 崩溃
- 使用 new 和 值进行数组初始化,但没有显式数量的元素
- 运行时C++数组初始化问题
- 使用带有参数包的数组的成员数组初始化类
- 仅通过C++中数组初始化的不同方法,即可在同一输入上获得两个不同的答案
- C++ 2 个指针数组初始化 C2440
- C++结构字符数组初始化
- C++中的多维数组初始化
- constexpr数组初始化
- C++引物动态数组初始化程序的数目超过大小
- 使用std::index_sequence对std::数组初始化进行包扩展
- 当 std 数组初始化太小时,C++会引发错误吗?
- 如何确定结构数组初始化的大小?
- Qt并发错误:数组初始化需要大括号括起来的初始值设定项列表
- 此代码中的数组初始化样式是什么?这是标准的吗?
- C++ 使用数组初始化时的 STL 向量内存管理