История изменений
Исправление
vertexua,
(текущая версия)
:
В хедеры можно писать только то, что представляет собой контракт, но не прямое обьявление переменных, тела, функций и методов, вообщем нельзя ничего что генерирует символ. Если нарушить это правило и включить хедер в разные файлы С++, то один и тот же символ и произойдет конфликт при linking
В силу «особенностей» С++, шаблоны не генерирует символы сами по себе, только при использовании, и использование не вызывает конфликтов. Библиотеки шаблонов написаны полностью в хедерах, потому что только там их можно написать.
Исходная версия
vertexua,
:
В хедеры можно писать только то, что представляет собой контракт, но не прямое обьявление переменных, тела, функций и методов, вообщем нельзя ничего что генерирует символ. Если нарушить это правило и включить хедер в разные файлы С++, то один и тот же символ и произойдет конфликт при linking
В силу «особенностей» С++, шаблоны не генерирует символы сами по себе, только при использовании, и использование не вызывает конфликтов.