sách gpt4 ăn đã đi

C++ Vector 数组初始化

In lại Tác giả: Walker 123 更新时间:2023-11-30 00:45:49 25 4
mua khóa gpt4 giày nike

给定以下代码:

vector A[1000000];
for( int i = 0; i < 1000000; i++ ){
A[i].clear();
}

我在自动终端上运行它,该终端的测试用例与我的代码一起运行,因此我无法获得完整的调试消息。我没有收到任何错误,并且该程序似乎在单个测试用例中运行良好。然而,当我与完整的测试集比赛时,我会随机通过/失败测试用例(有一次我可能通过了前 3 个,另一个我通过了除它们之外的所有测试,另一个我只通过了第二个,等等)。我想确保这种初始化会摆脱数组上的“未定义”值(例如 char *buffer = new char[100]; buffer[0] = 0;),以便它不是随机崩溃的原因。

sizeof(A) == 24000000(~23MB),sizeof(int) == 4。我只向这些 vector (总共)添加最多 100 万个整数,因此在最坏的测试中,每个 vector 可能是一个单元素 vector ,或者单个 vector 可能有 100 万个整数,而其余的仍然为空。

我必须调用析构函数吗?我假设不是因为我从来没有叫过新的,但我是 STL 的新手。最后,这可能不是我的代码的问题,而是测试人员的问题,但我仍然想确保这对我来说没问题。

câu trả lời hay nhất

我认为这是一个堆栈溢出,正如 M.M 所建议的那样。线路

std::vector A[1000000];

在堆栈上创建一百万个 vector 对象,这太多了。在我的机器上,该示例对一百万个 vector 失败,但对一千个 vector 运行良好。

关于C++ Vector 数组初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41561521/

25 4 0
Đề xuất bài viết: c# - 用于制作游戏引擎的C#或C++(深入)
Đề xuất bài viết: c++ - MFC - 消息框重载
Đề xuất bài viết: c++ - 混合使用纯虚方法和虚方法的类
Đề xuất bài viết: c++ - 无法打开源文件 d3dx9.h
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress