![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]()
Вопрос: как сделать так, что бы в зависимости от типа входящего аргумента, изменялся прототип принимающей его функции на оптимальный вариант?
Код:
Делать явный инстанс вида Foo<int&>(a); нельзя. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
![]()
Сделать специализацию шаблона для всех примитивных типов (ибо их количество ограничено). Шаблон сам по себе унаследовать от другого шаблона, который и будет имплементацией
|
![]() |
![]() |
![]() |
#3 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]() Цитата:
Речь идет о генерации типов аргументов в прототипах функций, а зависимости от типа вошедших аргументов. |
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
![]()
O, только сейчас заметил, что речь идет от функциях - тогда еще легче:
Код:
|
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]() Цитата:
Любой из них может быть константным, или не константным объектом. Простым, или тяжелым. Ещё раз: речь идет о генерации типа аргумента в прототипе функции, в зависимости от типа вошедшего аргумента. |
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]()
А, все... нашел лекарство)
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
![]()
Ну так покажите
![]() Код:
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]() |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]()
[QUOTE=waleri;1082487]Ну так покажите
![]() Способ не без изъяна.. Код:
![]() |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
![]()
Ну тогда так... добрый старый препроцессор:
Код:
Последний раз редактировалось waleri; 03.08.2012 в 22:00. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Реализация выигрышной стратегии для компьютера | makc56 | Паскаль, Turbo Pascal, PascalABC.NET | 13 | 18.05.2012 13:32 |
движок для стратегии | lamer69 | Свободное общение | 1 | 22.05.2011 01:16 |
Карта для стратегии | sincemix | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 5 | 21.07.2010 23:54 |
Передача аргументов программе на Си, как реализовать? | cympak | Общие вопросы C/C++ | 6 | 02.03.2010 19:49 |
Типы аргументов при перегрузке функций | Arkuz | Общие вопросы C/C++ | 4 | 24.02.2009 01:16 |