Скажем, у меня есть 3 переменные:
vector<int> vec(3);
int stat[3];
auto dyn = make_unique<int[]>(3);
Я могу инициализировать любой из них, если я знаю, что размер равен 3:
for(auto i = 0; i < 3; ++i) X[3] = i;
Где X
это vec
, stat
или dyn
. Но я хотел бы иметь возможность сделать это в шаблоне, просто снова передав X
. Что мне нужно, чтобы сделать это:
- Содержащийся тип
- Размер контейнера
Могу ли я получить это в такой функции, как:
template <typename T>
void init(T& X);
Или я не могу извлечь информацию о размере из unique_ptr
? Или набрать универсальный мод? (Я отметил этот вопрос С++ 17 в надежде, что можно будет использовать size
.)
std::iota
? - person ildjarn   schedule 26.02.2016iota
великолепен, если вы можете его использовать. В моем примере здесь: stackoverflow.com/a/35630222/2642059 вы увидите, что я используюiota
. Но как мне получить одинаковые итераторы для всех них? Я не могу использоватьbegin
илиend
наdyn
. - person Jonathan Mee   schedule 26.02.2016