![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Млин, развели спор по пустяковому вопросу. В принципе это дело каждого (абсолютно). Но всё-таки чем лучше класс в прайват, тем, что мы можем спокойно объявить прайват-члены этого класса (если сие нужно).
В Qt, скажем сделано соглашение, что в хейдерах идёт предобъявление класса, с суффиксом Private. В классе объявляется поле - указатель на этот класс. Других полей умногих кутешных классов почти нет. Однако, сам внутренний класс часто объявляется в отдельном хейдере, хотя инклюдится всего единожды. Ну, максимум, дважды: d обычном файле и в файле с суффиксом _p. Таким образом удаётся избежать перекомпиляции файлов, использующих наш класс, когда мы добавляем/удаляем у него поля (согласитесь, размер указателя от этого не меняется). Время компиляции без сомнения уменьшается, но... мне не нравиться такой стил. Постоянное обращение через всякие d_ptr всё же запутывает код (не то, чтобы нечитабельно, но мне не нравиться). |
|||
|
||||
zabivator |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 7.6.2006 Где: нск Репутация: 1 Всего: 2 |
Anikmar, конечно, дело вкуса.
Я мог бы его вообще локальным объявить, поскольку он только одному методу нужен. Или локальные классы тоже зло? Тогда курим stl. --------------------
#include <zabivator>int main( int, char * [] ){ while( Zabivator::жив() ) Zabivator::моск()++; return 0;} |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Не в коем случае! Но |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |