![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#51 |
Форумчанин
Регистрация: 04.10.2020
Сообщений: 136
|
![]()
Через какие классы и функции будет проходить схема при обращении к элементу tpl1.get<0>(), слишком ли это дорого, я думаю что часть этого кода упаковывается некоторые структуры в принципе сольются. Возможно ошибаюсь.
Код:
|
![]() |
![]() |
![]() |
#52 |
фрилансер
Форумчанин
Регистрация: 11.10.2019
Сообщений: 980
|
![]()
get<0>() - превратится в нечто вроде
Код:
|
![]() |
![]() |
![]() |
#53 |
фрилансер
Форумчанин
Регистрация: 11.10.2019
Сообщений: 980
|
![]()
здесь снова система из заглушки и рекурсивного вызова
Код:
|
![]() |
![]() |
![]() |
#54 |
фрилансер
Форумчанин
Регистрация: 11.10.2019
Сообщений: 980
|
![]()
в итоге именно typedef Head Result; и будет конечным типом, который торчит из TypeAt<Tail, Index - 1>::Result . И этот тип будет соответствовать своему индексу 0...n
|
![]() |
![]() |
![]() |
#55 |
Форумчанин
Регистрация: 04.10.2020
Сообщений: 136
|
![]()
Перевести код на Ассемблер и посмотреть нагрузку, тут нужно найти какой нить онлайн калькулятор и посмотреть как читается элемент массива, как читается обычная переменная ну и элемент кортежа тоже.
Для чего мы здесь наследуем классы https://programmersforum.ru/showpost...39&postcount=1 Код:
|
![]() |
![]() |
![]() |
#56 |
фрилансер
Форумчанин
Регистрация: 11.10.2019
Сообщений: 980
|
![]()
вот, пробуй тут https://godbolt.org/
TupleElement - хранит в себе поле типа T. Но при этом в самом "имени" класса незримо присутствует параметр I - константа с индексом. Это, стало быть, используется при рекурсивных применениях шаблонов (имеет значение полный тип, включая все его параметры, переданные в шаблон при инстанцировании) TupleImpl - содержит тип ElementsList, выведенный как колбаса из типов при участии шаблона MakeList, и константу Size - количество "значащих" типов (поскольку их может быть меньше 5 - максимального жёстко зашитого количества типов в кортеже) |
![]() |
![]() |
![]() |
#57 |
Форумчанин
Регистрация: 04.10.2020
Сообщений: 136
|
![]()
Алексей1153, Хреново что по индексу через переменную нельзя попадать по элементам кортежа, либо через константу цифрами либо рекурсивный проход с помощью
Код:
|
![]() |
![]() |
![]() |
#58 |
фрилансер
Форумчанин
Регистрация: 11.10.2019
Сообщений: 980
|
![]()
не понимаю, о чём речь
|
![]() |
![]() |
![]() |
#59 |
Форумчанин
Регистрация: 04.10.2020
Сообщений: 136
|
![]()
бывает ситуация когда нужно взять указатель нужного типа и храниться этот индекс в переменной и по сути это уже не константа, единственный способ попасть в нужный индекс это использовать функцию
Код:
|
![]() |
![]() |
![]() |
#60 | |
фрилансер
Форумчанин
Регистрация: 11.10.2019
Сообщений: 980
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Разобраться с кодом | Boris2 | Помощь студентам | 1 | 15.07.2013 15:58 |
С++ разобраться с кодом | marina12 | Помощь студентам | 2 | 21.05.2013 23:22 |
разобраться с кодом | iris_ka | Помощь студентам | 0 | 16.05.2012 17:19 |
Разобраться с кодом. | Vlero | PHP | 2 | 20.01.2011 12:46 |
проблемка с кодом, результат получается немного не такой как надо | hen | Помощь студентам | 3 | 24.04.2009 15:11 |