小编gia*_*gia的帖子

C++ Vector <int>数组初始化

给出以下代码:

vector<int> A[1000000];
for( int i = 0; i < 1000000; i++ ){
    A[i].clear();
}
Run Code Online (Sandbox Code Playgroud)

我在一个自动终端上运行它,它有我的代码运行的测试用例,所以我无法获得完整的调试消息.我没有得到任何错误,程序似乎运行良好的单个测试用例.然而,当我对整个集合运行时,我随机传递/失败测试用例(有一次我可以通过前3个,另一个我传递除了它们之外的所有东西,另一个我只传递第二个,等等).我想确保这种初始化将摆脱数组上的"未定义"值(例如char *buffer = new char[100]; buffer[0] = 0;),这样它就不会导致随机崩溃.

sizeof(A) == 24000000(〜23MB), sizeof(int) == 4.我只向这些向量添加了100万个整数(总计),因此在最差的测试中,每个向量可以是一个元素向量,或者单个向量可以有100万个整数,而其余的仍然是空的.

我必须打电话给析构函数吗?我没想到因为我从未打电话给新人,但我是STL的新手.最后,我的代码可能不是问题,而是测试人员,但仍然要确保这对我来说很好.

c++ arrays stl initialization vector

1
推荐指数
1
解决办法
1959
查看次数

标签 统计

arrays ×1

c++ ×1

initialization ×1

stl ×1

vector ×1