|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.08.2012, 21:58 | #11 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
|
03.08.2012, 22:00 | #12 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
Механизм рассчитан на работу с разным количеством аргументов. |
|
03.08.2012, 22:06 | #13 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
Сам я не шибко в этом понимаю, но эксперименты показывают - конструкторы запускаются. Ну и ребят спрашивал, спецов по ассемблеру. Так они и вовсе сказали: косвенный вызов функций (или, о боже! Запуски конструкторов) - это не место для оптимизаций, за искл. тех, что прописаны в стандарте. |
|
03.08.2012, 22:37 | #14 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
|
03.08.2012, 22:41 | #15 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
|
03.08.2012, 23:02 | #16 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Ну раз вам не нравится препроцессор, вот вам то же самое без препроцесора. Не понимаю зачем все это нужно - все равно код такой функции не может быть универсальным а если есть специализация, тогда можда подгонять аргументы вручную... Изпользуйте VARIANT подобие и храните тип там - т.е. информацию о типе которая вам надо...
Код:
|
03.08.2012, 23:24 | #17 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
|
|
04.08.2012, 00:24 | #18 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
TFunction(TArgument<type>) не предполагается вызывать напрямую, так что ничего ломаться не будет - надо было назвать TImplement как и раньше. Что касается второго замечания, то удовлетворяет задачу чуть лучше вашего варианта SOpt - те же type& но только сохраняется информация о типах. И я лично считаю, ТFunction будет соптимизирована и будет вызываться TFunction(TArgument) напрямую а там уже TArgument будет менятся в зависимости от типа.
|
04.08.2012, 12:35 | #19 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
waleri, если в функцию был передан константный объект - он должен быть принят по константной ссылке. А если не константный объект - по не константной ссылке.
В твоем примере нет возможности определить, является ли аргумент константным, или нет. В твоем примере в принципе нет возможности узнать, являлся ли объект константным или нет. Он априори считается константным |
04.08.2012, 15:04 | #20 | |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Цитата:
Код:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Реализация выигрышной стратегии для компьютера | 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 |