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

Шаблонные функции только для определённых типов! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Типизированный файл. Сведения о студентах. Стипендия http://www.cyberforum.ru/cpp-beginners/thread766865.html
Привет) у меня такая задача на туже тему, помогите исправить Вот условие Сформировать типизированный файл, в котором хранятся результаты сессии группы: факультет, группа, семестр, ФИО студента, средняя оценка. Написать программу начисления стипендии по результатам сессии (стипендия = средняя оценка х 50 руб). и текст программы //24. Сформировать типизированный файл, в котором...
C++ F A S M Помогите пожалуйста! Я увлекаюсь программированием, и скачал FASM, как знаете, он открытый проект. Так вот, я хочу изменить этот FASM и выместить в интернете с сcылкой на источник - официальный сайт fasm-a. Можно ли мне это сделать? Ну то есть выместить в интернете? А да ещё, есть вопрос по циклам (и не только. Тaкже интересуют условия - if,else,elseif (как их использовать) и т.д.) Помогите чем... http://www.cyberforum.ru/cpp-beginners/thread766861.html
Си-идентификатор C++
необходимо проверить является ли строка си-идентификатором. какие для этого критерии существуют? 1. первый символ не может быть цифрой 2. любой символ - , , , _ это, что я знаю. вопросы: 1. есть еще длина строки, какой она должна быть, кто говорит до 31, кто еще что-то. вы как думаете? во всех источниках по разному O_O
C++ Времена года и месяцы
Написать программу, которая выводит на экран приглашение: «Введите месяц», вводит с клавиатуры число X, имеющее смысл месяца, и печатает слова «Зима», «Весна», «Лето» или «Осень» в зависимости от введенного месяца. Программа должна реагировать на ввод неправильного месяца: меньше 1 или больше 12. Заранее благодарю. :)
C++ Как представляются двумерные массивы? http://www.cyberforum.ru/cpp-beginners/thread766834.html
Создал двумерный массив. И немного не врубаюсь. Если пиши вот так вот mas выводит 0, если вот так вот mas, то выводит 10. Ну а если вот так вот mas, то выводит 10. Собственно как я понял, что в случае mas мы выходим за границу массива и попадаем на элемент mas. Вопрос: всегда в двумерном массиве именно такая последовательность расположения ячеек памяти для массива, что они идут друг за другом?...
C++ Разработать наследование классов прямоугольный треугольник от треугольник Разработать наследование классов прямоугольный треугольник от треугольник подробнее

Показать сообщение отдельно
Nick Alte
Эксперт С++
1599 / 991 / 117
Регистрация: 27.09.2009
Сообщений: 1,911
Завершенные тесты: 1
20.01.2013, 14:41     Шаблонные функции только для определённых типов!
Цитата Сообщение от popelyuk Посмотреть сообщение
Цель была не совсем такая, нужно объявить template функцию (один раз!), а потом как-то описать под какие типы её можно генерить, а под остальные чтобы она сама не генерировалсь, вот!
Это то же самое абсолютно. Способ решения я и привёл: описываем функцию и инстанциируем её для всех нужных типов в отдельной единице трансляции. Эти инстанциации доступны для линкера, а создать новые инстанциации в других модулях невозможно, потому что определение шаблона функции этим модулять не доступно, у них есть только объявление. Заметим: во втором примере функция описана один раз, а инстанциируется два раза, для двух разрешённых типов.

Добавлено через 2 минуты
Видимо, источник взаимного непонимания - как раз явная инстанциация.
Конструкция
C++
1
template void print<int>(int);
- не объявление функции, а приказ её явно инстанциировать из шаблона для типа int. Объявление выглядело бы как
C++
1
template <> void print<int>(int);
 
Текущее время: 01:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru