Re[3]: инициализировать переменную в конструкторе
От: T4r4sB Россия  
Дата: 13.03.25 06:15
Оценка:
Здравствуйте, xma, Вы писали:

xma>это же константа, как ты её в теле конструктора изменишь — её либо сразу, либо в списке инициализации конструктора только можно задать


А, точно.
Тогда твой вариант так наверное лучше
class Viewer {

private:
  static const std::string kWindowName_Base{"Video Viewer"};
  const std::string kWindowName_;

public:
  Viewer(std::string_view suffix):
  kWindowName_(suffix.empty() ? kWindowName_Base : kWindowName_Base + " " + suffix){};

};


добавил статик чтоб не хранить лишний элемент, и добавил стрингвью чтоб суффикс попусту не копировать туда сюда
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.