инициализируются её поля.
При первом прочтении эта конструкция выглядит как класс.
Так, может лучше объявлять все структуры классами? Но тогда придётся заводить геттеры и сеттеры, и код разрастётся, казалось бы.
Что делать? Как поступаете вы?
Юзаем структуру, если она символизирует хранение каких то данных и не имеет особого поведения В противном случае - класс
Почему посредством конструктора, а не https://en.cppreference.com/w/c/language/struct_initialization?
конструкторы - как правило если нужно создавать инвариант, сеттеры - на поля которые прям ну очень важны для инварианта и требуют сопутствующих изменений где-то ещё и дробить пока дробится, вплоть до всего двух интов на структуру, если абстракция прям хорошо ложится на данные
Структуры подразумевает примитивные композиции без инвариантов (требования отсутствия конструкторов нет) Если у поля есть тривиальный public геттер и сеттер, то их нет и поле public, так что преобразование тривиально
Обсуждают сегодня