Форум программистов, компьютерный форум CyberForum.ru

Возможно ли шаблонную функцию продекларировать в заголовочном файле - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Преобразование изображения из цветовой модели RGB в модель HSL http://www.cyberforum.ru/cpp-beginners/thread1122735.html
Всем доброго времени суток! Я учусь на программиста, и мне очень нужна ваша помощь. Что нужно для преобразования изображения из цветовой модели RGB в модель HSL на С++? С чего начать, какие библиотеки подключать, какими операторами лучше пользоваться? Заранее благодарен)
C++ Написать программу в которой все нулевые элементы размещены выше главной диагонали помогите пожалуйста написать программу в которой все нулевые элементы размещены выше главной диагонали на нечетных строках и ниже главной диагонали - на четных. http://www.cyberforum.ru/cpp-beginners/thread1122718.html
Написать программу, которая подсчитывает периметр прямоугольного треугольника C++
Написать программу, которая подсчитывает периметр прямоугольного треугольника по двум катетам a,b в Dev C++ и написать программу которая определяет одинаковы ли цифры данного двухзначного числа Dev C++ Каждую задачу надо публиковать отдельным постом
C++ Указатели на объект
Здравствуйте, подскажите пожалуйста вот по какому вопросу... Начали изучать классы в С++, и сначала была задача ввода дроби, ее сокращению и выводу в общепринятом виде, теперь задача в том чтобы ввести несколько дробей и написать в классе функции которые будут делить и перемножать дроби. Теперь собственно сам мой вопрос: как правильно использовать указатели в этом случае? Чтобы просто прописать...
C++ Подсчет суммы чисел http://www.cyberforum.ru/cpp-beginners/thread1122692.html
Сгенерировать последовательность 10 000 случайных чисел на промежутке [0,1) типа float. Найти: a. сумму этих чисел, проводя суммирование в последовательном порядке; b. возрастающем порядке; c. убывающем порядке. Подскажите пожалуйста варианты реализации подзадачи b(c).
C++ Файловый ввод/вывод Здравствуйте!Помогите составить программу,которая считывает строку текста из файла inputtxt.txt. Обрабатывает и в результате работы программы в файле отчета(output.txt необходимо в алфавитном порядке расположить буквы из которых состоит текст с их количеством. Пример: Содержание исходного файла Inputtxt.txt слово "МАМА" В результате работы программы получен файл следующего вида: Буква... подробнее

Показать сообщение отдельно
DrOffset
6854 / 4065 / 927
Регистрация: 30.01.2014
Сообщений: 6,862
18.03.2014, 20:04     Возможно ли шаблонную функцию продекларировать в заголовочном файле
Цитата Сообщение от nvdrossii Посмотреть сообщение
в них в отличие от функций переменные типа классов T1,T2, объявленных так же ранее...по сути кто знает что там за классы?? в отличии от типов int, string и других типов, которые согласуются с любой точки программы...я правильно понял?
Ну почти. Вся соль в том, что тело шаблона должно быть доступно в точке, где подставляются реальные типы (это называется инстанцирование). Файлы в С++ компилируются отдельно, и файл а.cpp не знает что находится в b.cpp на этапе компиляции. Поэтому тело шаблона помещенное в один cpp не может быть "распознано" при использовании в другом cpp. Отсюда рекомендация писать шаблоны в заголовочных файлах.
Раньше была еще такая фича - экспорт шаблонов. За все время ее существования в стандарте языка, ее умудрились реализовать только ребята из Comeau Computing, да и то на базе наработок EDG (их компилятор до недавнего времени был известен как один из наиболее полно соответствующих стандарту). В общем суть этой фичи заключалась в том, что генерились специальный файлы, в которых содержалась необходимая информация о таких шаблонах.
Однако на сегодняшний момент, эта возможность исключена из стандарта вследствие своей невостребованности пользователями и сложности реализации в компиляторе.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru