基于多维 std::array 的范围

Alv*_*mon -1 c++ stdarray

尝试四处寻找,但只找到了使用内置数组而不是 std::array obj 的示例。

// array arr of size 5
array< array<int, 10>, 10> arr = { 0 };

srand((unsigned)time(0));

// initialize elements
for ()
{
    for()
    {
        item = rand() % 100 + 1;
    }
}
Run Code Online (Sandbox Code Playgroud)

尝试将二维数组 obj 初始化为随机值的基本示例。我不知道在 for 循环的 () 之间放什么

Whi*_*TiM 5

auto&在这里派上用场。好吧,第一个 range-for 循环将引用数组中的每个数组。第二个引用最内层数组中的每个元素。喜欢:

// initialize elements
for (auto& inner : arr)
{
    for(auto& item : inner)
    {
        item = rand() % 100 + 1;
    }
}
Run Code Online (Sandbox Code Playgroud)