В современном C ++ мне разрешено реализовать структуру со значениями элементов по умолчанию, т.е.
struct A
{
int x = 5;
float y = 1.0f;
};
, но я также могу создать структуру, которая не имеет «значений элементов по умолчанию», но может вызвать ее конструкторс параметрами по умолчанию, как в примере ниже:
struct B {
int x;
float y;
B(int x_ = 5, float y_ = 1.0f) : x(x_), y(y_) {}
};
Что я хочу знать, есть ли какая-либо разница с точки зрения чистого кода или архитектуры между ними? А может, есть и другие, еще более важные отличия? В первом случае у меня меньше кода для написания, и я думаю, что я все еще могу построить объект, например A({2, 3.14f})
, даже если конструктор не определен.
Какой ваш путь в проект и почему?