Вообщем в объекте надо определить 8 полей, как лучше это сделать, инициализацией с помощью
конструктора с 8 параметрами или создание пустого объекта и вызов 8 ф-ций?
интересуют вопросы соотношения производительности и хорошего/плохого стиля
Если поля "однородны", можно использовать указатель, напр
C++ (Qt)
struct Matrix3x3 {
Matrix3x3( const float * src = 0 )
{
if (!src) Identity();
else Set(src);
}
void Set( const float * src )
{
m00 = src[0];
...
m22 = src[8];
}
};
Если же полей много, но они не имеют между собой ничего общего, то лучше создать вспомогательную struct (со всеми полями открытыми), спокойно ее заполнить и подать как 1 параметр конструктора
C++ (Qt)
struct MyConstructInfo {
float mMagnify;
int mType;
...
};
// использование
MyConstructInfo info;
info.mMagnify = 1.0f;
...
MyClass * theObject = new MyClass(&info);