Что (не) делать в конструкторе
Я хочу спросить вас о ваших лучших практиках относительно конструкторов в C ++. Я не совсем уверен, что я должен делать в конструкторе, а что нет.
Должен ли я использовать его только для инициализации атрибутов, вызова родительских конструкторов и т. Д.? Или я мог бы даже поместить в них более сложные функции, такие как чтение и анализ данных конфигурации, настройка внешних библиотек a.s.o.
Или я должен написать специальные функции для этого? Соответственноinit()
/ cleanup()
?
Что за и против здесь?
Я еще понял, что, например, я могу избавиться от общих указателей при использованииinit()
а такжеcleanup()
, Я могу создавать объекты в стеке как атрибуты класса и инициализировать его позже, пока он уже создан.
Если я обработаю это в конструкторе, мне нужно создать его экземпляр во время выполнения. Тогда мне нужен указатель.
Я действительно не знаю, как решить.
Может быть, вы можете помочь мне?