Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

ИО Капитана Очевидности


Contributor


Сообщения: 5387
Благодарности: 1105

Профиль | Отправить PM | Цитировать


Повторяю ещё раз - компилируются только те функции, которые используются. А у шаблонов вообще каждая реализация под конкретный класс данных компилируется отдельно по мере использования.
Да, можно разместить код медотодов класса vector<T> в .cpp, а в .h-файле прописать команду на принудительную компиляцию класса vector<int>. Однако в этом случае будет создана только реализация этого класса под один единственный тип данных, а подстановка в шаблон других классов вызовет ту же самую ошибку.

Так что существует только одно "правильное" размещение кода шаблонов - в тех файлах, которые "подключаются" к другим модулям.

-------
Самое совершенное оружие, которым забиты арсеналы богатых и процветающих наций, может легко уничтожить необразованного, больного, бедного и голодного. Но оно не может уничтожить невежество, болезнь, нищету и голод. (Фидель Кастро)

Почему всех осужденных за измену Родине при Сталине реабилитировали при Горбачёве по отсутствию состава преступления? Потому что при Горбачёве измену Родине перестали считать преступлением.

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:22, 26-05-2011 | #6