Можно ли бросить последние 3 элементы std::array<double, 4>
в std::array<double, 3>
?Cast некоторые элементы станд :: массива короткий станд :: массив
Например:
void f(std::array<double,3> &);
...
int main() {
std::array<double,4> a;
...
f(/* pass a[1], a[2] and a[3] */);
}
РЕДАКТИРОВАТЬ:
Контекст: Есть несколько спиновых решетчатых (точечных) свойств, которые вычисляются с помощью различных функций (различные F() - с). Эти функции должны заполнять различные части массива. (Массив не может быть структурой, потому что числовые элементы зависят от аргументов времени компиляции.) Те f() - s называются миллионы раз.
Сделайте свою функцию двумя итераторами. – chris
Да, +1 к этому. Диапазоны в C++ должны быть переданы с использованием итераторов. –
@chris Время критического приложения. Мне нужно это во время компиляции. – Predrag