1
なぜ以下のことが可能ですか?ランダムな値が答えと同様に初期化リストが動的多次元配列のメモリを上書きします
2. here発見された場合
#include <iostream>
#include <random>
int main()
{
std::random_device rd;
std::uniform_int_distribution<int> dist(2,3);
auto arr = new int[dist(rd)][4][2]{{{1}},{{2}},{{3}}}; // may write to unallocated memory
auto val1 = arr[0][0][0];
auto val2 = arr[1][0][0];
auto val3 = arr[2][0][0];
auto result = val1 + val2 + val3;
std::cout << result;
return 0;
}
初期化子が割り当てられていないメモリ上で書きます、私は、コンパイラはこれを許可すると予想しなかったであろう。