![]() |
|
Модераторы: xvr |
![]()
|
|
| fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: 2 Всего: 1 |
если я буду держать в хедере описание функций, не будет ли это считаться плохим тоном? как вы на это смотрите?
-------------------- undefined |
|||
|
||||
| nkerah |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 1.6.2009 Репутация: нет Всего: нет |
если там аккуратные пара-тройка строк, то не страшно. если там over9000 символов - выноси в сишник.
имхо, лучше разделять в любом случае. |
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 8 Всего: 58 |
fish9370,
Будет |
|||
|
||||
| fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: 2 Всего: 1 |
ну в довольно крупных и успешных проектах я такое видел.. да, часто код заворачивают в макросы, но бывает и так лепят.. впринципе в моем случае это удобно..
приведи, пожалуйста, свои доводы.. -------------------- undefined |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
хидер не предназначен для не inline-кода -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: 2 Всего: 1 |
спасибо, буду переделывать..
-------------------- undefined |
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 8 Всего: 58 |
fish9370,
"Так не делают" тебя не устроит ? |
|||
|
||||
| fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: 2 Всего: 1 |
нет, так меня не устроит.. хочу понять, это "code styling" или это какой-то стандарт о котором я не знаю? почему inline функции можно, а простые нельзя? чем это чревато (полагаю причины есть)? -------------------- undefined |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: нет Всего: 135 |
потому, что h-ники тупо вставляются в cpp-шники в том месте, в котором они include'нуты. Теперь представь, что ты include'нул h-ник, в котором есть ф-ция void foo(); в 1.cpp и в 2.cpp. У компилятора проблем не возникнет. Он создаст 2 функции и успокоится. А у линковщика возникнет проблема: вызов какой ф-ции вставлять в то место, где она вызывается. Поэтому линковщик должен выдать ошибку. Погугли на предмет "компиляция и линковка в Си++" -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 1 Всего: 211 |
fish9370
Представь себе проект в 10000 файлов и представь, что все написано в заголовочных файлах. Допустим тебе надо изменить логику одной из функций в заголовочном файле, который прямо или косвенно включен в 1000 других файлов. Теперь при компиляции компилятору придеться перекомпилировать также все эти 1000 файлов, в то время как он мог перекомпилировать только cpp файл. Поверь мне, разница будет более чем заметная. Часто используемые классы вообще можно переделать на PIMPL и убрать все private функции в cpp файл, это избавит от надобности перекомпилировать сопутствующие файлы при изменении private интерфейса класса. Добавлено через 2 минуты и 46 секунд Шаблонные классы к сожалению можно реализовывать исключительно в заголовочном файле, но это исключение. |
|||
|
||||
| fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: 2 Всего: 1 |
borisbn, azesmcar - спасибо парни..
думаю вопрос раскрыт.. -------------------- undefined |
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |