Re[6]: Кто-нибудь так делает?
От: Left2 Украина  
Дата: 13.04.06 12:59
Оценка: 6 (1) +1
D>Передавать параметры открытия конструктору, это привычка кодирования в стиле Си, объясните зачем передавать в конструктор или еще куда либо константы известные на этапе компиляции ?

Такое "модное" кодирование заставит все функции сделать шаблонными. Приведёт это к непомерной нагрузке на компилятор — более-менее сложный проект будет собираться часами.

D>Константы должны появится только один раз, в том месте где без них не обойтись, а проталкивать их по стеку не могу найти причину.


В случае шаблонного и не-шаблонного класса для вызова конструктора файла компилятор сгенерит одинаковый код (имею в виду вариант когда вызов конструктора будет инлайнится).

D>По отношению к файлу имеется ограниченный набор флагов для его открытия, читая Александреску раскладываем все варианты на стратегии и параметризуем ими шаблон. Указывая в параметрах функции что этот файл должен быть FileOpening::OpenExisting уже по объявлению легче определить что функция делает с файлом, она создает, удаляет или модифицирует существующий файл, весьма удобно.


Не стану оспаривать заслуги Александреску, но не стоит воспринимать всё им написанное как прямое руководство к действию. Книги его скорее дают представление о возможностях С++, чем являются практическим руководством. И уж тем более не стоит городить сложных решений там, где замечательно работают простые.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.