Jak zainicjować std::array<T, n>
, jeśli T nie jest domyślną konstrukcją?Jak zainicjować std :: array <T, n> elegancko, jeśli T nie jest domyślnie możliwe do skonstruowania?
wiem, że to możliwe, aby zainicjować go tak:
T t{args};
std::array<T, 5> a{t, t, t, t, t};
Ale n
dla mnie jest to parametr szablonu:
template<typename T, int N>
void f(T value)
{
std::array<T, N> items = ???
}
A nawet jeśli nie było to szablon, to dość brzydki powtarzać wartość ręcznie, jeśli n
jest zbyt duża.
Tak, można napisać funkcję lub dwie, aby je wygenerować. – chris
Czy funkcja "wypełnij()" pomoże? – Arun
@Arun, no. Można go nazwać tylko na już zbudowanej macierzy. – RiaD