![]() |
|
Модераторы: bsa |
![]()
|
|
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
unicuum, компиляция - разновидность трансляции
|
|||
|
||||
| Леопольд |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 3 Всего: 13 |
Если это окажется в двух модулях (translation units) то не получим ли мы нарушение ODR? Или же они все по умолчанию линкуются как inline? Это сообщение отредактировал(а) Леопольд - 30.11.2009, 13:23 -------------------- вопросов больше чем ответов |
|||
|
||||
| unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка Репутация: нет Всего: 8 |
Что-то я читал такое, у Страуструпа что ли, вот поиском нашёл примерное тоже самое.
В любом случае несмотря на сарказм mes'а, раз возникают различные уточнения и вопросы, тема отнюдь не может считаться закрытой. Добавлено через 1 минуту и 50 секунд В общем, проверять надо, как ведут себя шаблоны классов и функций. -------------------- ![]() обычный день на винграде |
|||
|
||||
| Леопольд |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 3 Всего: 13 |
Похоже на книжку Подбельского. Чур меня...
Согласен, рекурсию встроить в место вызова не то что-бы сложно, но как то не соответсвует идеологии самой рекурсии. Её нет смысла встраивать... Однако почему нельзя встраивать циклы, case'ы и goto (который скорее всего не может выпрыгнуть наружу, точно не знаю, никогда не пользовался), для меня загадка... Я что-то подобное (причём так-же, совершенно без объянений) видел у вышеупомянутого Подбельского. Кол ему в зад. Добавлено @ 14:36 Однако, можно определить метода шаблона вне тела. Как для обычного класса. Однако, если это будет нешаблонный класс, то не inline функции придётся определять в одном единственном модуле, если же их объявить в том же самом заголовочном файле, то при включении этого файла в два компилируемых *.cpp файла проекта их определения попадут в несколько модулей и мы получим нарушение ODR (One Definition Rule) Это сообщение отредактировал(а) Леопольд - 30.11.2009, 14:38 -------------------- вопросов больше чем ответов |
|||
|
||||
| unicuum |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка Репутация: нет Всего: 8 |
Наверное всё же надо разобраться вначале с этим:
С источником вдохновения данной темы. -------------------- ![]() обычный день на винграде |
||||
|
|||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
||||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |