Re[3]: Внутренние функции класса
От: Videoman Россия https://hts.tv/
Дата: 17.01.19 14:49
Оценка: +3
Здравствуйте, PavelCH, Вы писали:

PCH>А почему не вариант? Может просто объявить private функцию и не порождать монстров? Стоит ли игра свеч?

А зачем мне объявлять функцию в классе, если она полностью не зависит от класса, а нужно, только, выполнить полезное действие в реализации?
Какие преимущества:
— Не засоряется пространств имен класса. Private хоть и защищает от вызова снаружи, но участвует в перегрузке. Можно использовать короткие названия, понятные из контекста, во всех наследниках и не париться.
— Вызывая такую функцию, я полностью уверен что она не меняет инвариант класса. Т.е. на лицо меньшая связность, да еще и компилятор это проверит.
— Реализация функции может требовать дополнительный инклюды, которые не нужны в публичном интерфейсе класса, что будет засорять пространство имен и, возможно, приводить к перекомпиляции.

PCH>Стоит ли игра свеч?

О каких свечах идет речь? Если что, писанины меньше, перекомпиляций тоже.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.