Мне любопытно, что время поиска вызывает вызов std::get<>
на std::tuple<>
. Некоторые короткие поисковые запросы (включая справочные страницы, которые обычно имеют эту информацию) не принесли никаких результатов.
Моя первоначальная интуиция (и страх) заключается в том, что рекурсивная структура кортежа (если она реализована в виде вариационного шаблона) приведет к получению требуемого порядка N запросов (вызов get<3>(t)
выглядит как t.rest().rest().first()
. Я надеюсь, что уйду отсюда...
И снова я надеюсь, что компилятор сможет оптимизировать это, чтобы напрямую вернуть правильное смещение без накладных расходов на N вызовов.
В основном, что я хочу: есть ли гарантия на время выполнения? это ограничивает реализацию std::tuple
?