Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
Andrew Selivanov |
11.7.2008, 17:47
Сообщение
#1
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 249 Регистрация: 9.10.2007 Из: Москва Пользователь №: 3 Спасибо сказали: 15 раз(а) Репутация: 6
|
Все мы иногда используем так называемые forward declarations. Обнаружил интересное правило, которое помогает пользоваться ими более осознанно:
Если в модуле используются только ссылки на класс A, то заголовочный файл этого класса подключать не обязательно, достаточно использовать forward declaration. Если класс B наследует от класса A или явно/неявно использует его, необходимо подключить загаловочный файл A. Link |
|
|
|
|
AD |
11.7.2008, 17:55
Сообщение
#2
|
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17
|
Цитата(Andrew Selivanov @ 11.7.2008, 18:47) Link Все мы иногда используем так называемые forward declarations. Обнаружил интересное правило, которое помогает пользоваться ими более осознанно: Если в модуле используются только ссылки на класс A, то заголовочный файл этого класса подключать не обязательно, достаточно использовать forward declaration. Лично я об этом давно знал! |
|
|
|
|
void* |
11.7.2008, 18:13
Сообщение
#3
|
![]() Программист-самоучка ![]() ![]() ![]() Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: 3
|
я тоже, но как-то натыкался на такие грабли, да и все равно новичкам пригодится
|
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 22.12.2025, 1:26 |