我想使用 2d std::array 因为我必须在程序中的某个点使用绑定检查。对于一维数组,我会这样做:
#include <iostream>
#include <array>
int main (){
std::array<int,4> myarray;
for (int i=0; i<10; i++){
myarray.at(i) = i+1;
}
}
Run Code Online (Sandbox Code Playgroud)
我如何为二维数组做到这一点。我可以在其中使用 auto 吗?
std::array是一维的,不存在二维的std::array。您只需使用innerstd::array作为outer的元素类型std::array,例如:
#include <iostream>
#include <array>
int main(){
std::array<std::array<int,5>,4> myarray;
for (int i=0; i<5; i++){
for (int j=0; j<10; j++){
myarray[i].at(j) = j+1;
}
}
}
Run Code Online (Sandbox Code Playgroud)