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

Сообщения: 5387
Благодарности: 1105
|
Профиль
|
Отправить PM
| Цитировать
Повторяю ещё раз - компилируются только те функции, которые используются. А у шаблонов вообще каждая реализация под конкретный класс данных компилируется отдельно по мере использования.
Да, можно разместить код медотодов класса vector<T> в .cpp, а в .h-файле прописать команду на принудительную компиляцию класса vector<int>. Однако в этом случае будет создана только реализация этого класса под один единственный тип данных, а подстановка в шаблон других классов вызовет ту же самую ошибку.
Так что существует только одно "правильное" размещение кода шаблонов - в тех файлах, которые "подключаются" к другим модулям.
|
-------
Самое совершенное оружие, которым забиты арсеналы богатых и процветающих наций, может легко уничтожить необразованного, больного, бедного и голодного. Но оно не может уничтожить невежество, болезнь, нищету и голод. (Фидель Кастро)
Почему всех осужденных за измену Родине при Сталине реабилитировали при Горбачёве по отсутствию состава преступления? Потому что при Горбачёве измену Родине перестали считать преступлением.
Отправлено: 01:22, 26-05-2011
| #6
|