to の最後の 3 つの要素をキャストすることは可能
std::array<double, 4>
です
std::array<double, 3>
か?
例えば:
void f(std::array<double,3> &);
...
int main() {
std::array<double,4> a;
...
f(/* pass a[1], a[2] and a[3] */);
}
編集:
コンテキスト: 異なる関数 (異なる f()-s) によって計算される格子スピン (ポイント) プロパティがいくつかあります。これらの関数は、配列のさまざまな部分に入力する必要があります。(数値要素はコンパイル時の引数に依存するため、配列を構造体にすることはできません。) これらの f()-s は何百万回も呼び出されます。