Инстанцирование шаблона non-const значением

283
27 мая 2017, 18:51

Есть ли в крестах возможность инстанцировать шаблон типа

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;
}
Answer 1

Нет. Тип должен быть вычисляем в момент времени компиляции. Причём не обязательно при инициализации должно использоваться const значение, но обязательно constexpr. Про constexpr нормально написано на хабре.

READ ALSO
Новичок. Помогите пожалуйста. C++

Новичок. Помогите пожалуйста. C++

Всем приветСовсем недавно начал изучение плюсов (да и программирования в целом, до этого лишь немного писал на Python)

408
с++ крестики нолики баг

с++ крестики нолики баг

Здравствуйте я новенький в мире программирования c++вот решил устроится стажером в фирму

334
Firebird API создание базы программно

Firebird API создание базы программно

Я использую Firebird API для программного создания базыДля создания базы я использую код из этого поста

250
Angularjs checkbox фильтр, как сделать кнопку сброса выборок

Angularjs checkbox фильтр, как сделать кнопку сброса выборок

Всем приветПомогите решить проблему

312