#今天遇到一个问题 大致就是二维数组如果元素长度为传入一个变量,那么它不能初始化形如 int angle[x][y] = {0};
#而需要动态开辟空间
# 形如
int** angle = new int* [x];
for(int i = 0; i < x; ++i){
angle[i] = new int[y];
}
然后
for(int i = 0; i < x; ++i){
delete angle[i];
}
delete angle;
或者 采用vector 的方法初始化
vector<vector<int>> angle(x, vector<int>(y, 0));
注意 两者的效率 是有差异的,前者的运行时间、占用内存开销比前者要优

更新
采用memset 默认初始化 是最快的,占用空间也是最少的
本文讨论了在C++中处理动态初始化二维数组的问题,介绍了使用指针数组和vector的不同方法,强调了动态分配在内存效率上的优势,并提到了memset进行默认初始化的高效特性。
1664

被折叠的 条评论
为什么被折叠?



