我有一个常量字节数组。从该数组,我想初始化一个对象数组。我尝试了以下代码,但没有产生预期的结果。
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]);
}
有没有更优雅的方法来初始化对象数组?最好没有循环且构造函数为空。
答案 0 :(得分:0)
您可以使用std :: array来执行此操作。无需手动阵列管理。
std::array<MyClass, 3> ma = {1, 2, 3};