関数の戻り値で配列の参照を返す(C++)
int型の配列へのconst参照を返す関数
const int (&GetArray())[4] {
const static int s_array[4] = {1, 2, 3, 4};
return s_array;
}
はっきり言って、読めません。関数名の後に配列の長さがあったりとか。。。
普通こういう場合はポインタを返すように書くと思いますが、型から「配列の長さ」の情報が失われてしまうという欠点があります。
どうしても戻り値の型に「配列の長さ」を残しておきたいという場合は使えます。
参照元