【发布时间】:2019-05-14 11:56:00
【问题描述】:
我有一个常量字节数组。从该数组中,我想初始化一个对象数组。我尝试了以下代码,但没有产生预期的结果。
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]);
}
有没有更优雅的初始化对象数组的方法?最好没有循环和空构造函数。
【问题讨论】:
-
MyClass myObjects[] = {VALUES[0], VALUES[1], VALUES[2]}; -
VALUES有更多元素时不会那么漂亮吧?