Является ли хорошей практикой использование шаблонных классов, чтобы избежать создания статической библиотеки? - PullRequest
0 голосов
/ 20 февраля 2012

Я портирую контейнер без блокировки с C на C ++.Сейчас я рассматриваю шаблонирование класса и использование только одного файла, чтобы у конечного пользователя не возникало проблем со связыванием моей библиотеки.Ему нужно будет только включить файл шаблона.

Я не уверен, что делаю все правильно.Это хорошая практика?

Ответы [ 4 ]

2 голосов
/ 20 февраля 2012

Это довольно часто;Boost и многие другие библиотеки C ++ предназначены только для заголовков (хотя некоторые части Boost нуждаются в компиляции).То же самое относится и к STL, который теперь объединен со стандартной библиотекой.

1 голос
/ 20 февраля 2012

Убедитесь, что вы решили создать библиотеку шаблонов по правильным причинам . Хорошей причиной является создание библиотеки container как шаблона: все контейнеры стандартной библиотеки C ++ выполняются как шаблоны. Просто избегать шага ссылки в одиночку не является веской причиной.

1 голос
/ 20 февраля 2012

Зависит от размера кода. Единственная проблема, которую нужно учитывать, - это размер, который вы получите от встраивания. Если вы убедитесь, что код в каждой функции шаблона небольшой, то все должно быть в порядке. Просто для мотивации все стандартные контейнеры предназначены только для заголовков.

1 голос
/ 20 февраля 2012

Да.Так написана почти вся стандартная библиотека C ++, поэтому вы в надежных руках.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...