Powiel możliwe:
Programmatically create static arrays at compile time in C++Inicjalizacja const tablicę w czasie kompilacji o długości opartym na szablonie
to możliwe, aby zainicjować następującą tablicę w czasie kompilacji?
template<int n> void
foo()
{
static int pairs[2*n]; // = {0,0, 1,1, ..., n-1,n-1}
for (int i = 0; i < n; i++)
{
pairs[2*i] = pairs[2*i+1] = i;
}
do_something_with_pairs(pairs);
}
(używam brzękiem na Xcode 4.5 więc C++ 11 jest OK)
pętla używa indeksów poza końcem tablicy => ** Niezdefiniowane zachowanie **. –
Przepraszam, naprawiłem to teraz. –
Zastanawiam się, ilu ludzi odłożyło swoją pracę na bok i próbuje ciężko rozwiązać ten problem. To jest bardzo dobre pytanie. Ale poddaję się. –