Есть ли в крестах возможность инстанцировать шаблон типа
template<size_t dim>
class foo { }
неконстантным значением? Например так:
size_t order = 1;
order = get_order();
foo<order> instance;
Если да - есть ли возможность возвращать значение на шаблонный объект с неизвестным параметром шаблона:
foo get_foo()
{
size_t order = 1;
order = get_order();
foo<order> instance;
return instance;
}
Нет. Тип должен быть вычисляем в момент времени компиляции. Причём не обязательно при инициализации должно использоваться const значение, но обязательно constexpr. Про constexpr нормально написано на хабре.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей