如何从数组中初始化对象数组
How to initialize an array of objects from an array?
我有一个常数字节的数组。从该数组中,我想初始化一个对象数组。我尝试了以下代码,但没有产生预期的结果。
const byte VALUES [] = {1, 2, 3};
class MyClass {
public:
MyClass(byte value) {
_value = value;
}
private:
byte _value;
};
MyClass myObjects[] = {VALUES};
我通过使用以下代码设法进行操作:
const byte VALUES [] = {1, 2, 3};
class MyClass {
public:
MyClass() {}
MyClass(byte value) {
_value = value;
}
private:
byte _value;
};
MyClass *myObjects = new MyClass[3];
for (byte i = 0; i < 3; i++) {
myObjects[i] = MyClass(VALUES[i]);
}
是否有其他优雅的方法来初始化对象的数组?没有循环和空构造函数,最好是。
您可以使用std ::数组来做。这里无需在这里手动阵列管理。
std::array<MyClass, 3> ma = {1, 2, 3};
相关文章:
- 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 向量内存管理