Здравствуйте, подскажите пожалуйста:
почему в данной случае тип переменных i
, j
известен на этапе компиляции
template <int i, int j, class T>
auto to_pair(T tuple) -> decltype(std::make_pair(std::get<i>(tuple), std::get<j>(tuple)))
{
return std::make_pair(std::get<i>(tuple), std::get<j>(tuple));
}
а здесь на этапе выполнения
template <class T>
auto to_pair(int i, int j, T tuple) -> decltype(std::make_pair(std::get<i>(tuple),
std::get<j>(tuple)))
{
return std::make_pair(std::get<i>(tuple), std::get<j>(tuple));
}
Ну или может поделитесь ссылкой, где поподробнее про это написано.
Похоже, вы путаете тип и значение.
Типы i
и j
известны во время компиляции - это int
.
А вот значения во второй функции действительно могут быть известны только во время выполнения. Поэтому этот шаблон и не работает - get
требуется знать значение индекса во время компиляции.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Хотелось бы узнать как будут отличаться производные классы, если эти два выражения не идентичны? Или все таки они идентичны?
Несколько дней назад по необъяснимым мне пока причинам фоновая работа selenium'а (через Xvfb) стала сопровождаться автоматическим запуском экземпляра...
Узнать место на Sd-card или Внутренеей памяти Android какие методы?