Информация об изменениях

Сообщение Re: Передача объекта, возвращаемого функцией, в другую функц от 26.09.2019 16:30

Изменено 26.09.2019 16:37 B0FEE664

Re: Передача объекта, возвращаемого функцией, в другую функцию.
Здравствуйте, Коваленко Дмитрий, Вы писали:

КД>Теперь есть утилита, работающая с t_errors:

КД>
КД>void add_current_errors(t_errors& errs); //errs внутри не запоминается.
КД>


Тут должен быть const :
void add_current_errors(const t_errors& errs);


КД>Собственно вопрос — это нормальный подход или могут возникнуть проблем?

Подход не нормальный в том смысле, что не соответствует современным нормам.
Проблемы возникнуть могут, но они связаны не с работоспособностью кода (код рабочий), а с вопросами возникающими у читателя этого кода:
— если вы меняете errs внутри add_current_errors, то зачем вы это делаете?
— если вы не меняете errs внутри add_current_errors, то зачем он не const?
Re: Передача объекта, возвращаемого функцией, в другую функц
Здравствуйте, Коваленко Дмитрий, Вы писали:

КД>Теперь есть утилита, работающая с t_errors:

КД>
КД>void add_current_errors(t_errors& errs); //errs внутри не запоминается.
КД>


Тут должен быть const :
void add_current_errors(const t_errors& errs);


КД>Собственно вопрос — это нормальный подход или могут возникнуть проблем?

Подход не нормальный в том смысле, что не соответствует современным нормам.
Проблемы возникнуть могут, но они связаны не с работоспособностью кода (код рабочий), а с вопросами возникающими у читателя этого кода:
— если вы меняете errs внутри add_current_errors, то зачем вы это делаете?
— если вы не меняете errs внутри add_current_errors, то зачем он не const?

PS моя телепатия мне подсказывает, что у интерфейса t_errors есть виртуальные get-методы не обявленные const.