gpt4 book ai didi

c++ - 将我的数组定义更改为 vector 或列表?

转载 作者:行者123 更新时间:2023-11-28 00:44:12 26 4
gpt4 key购买 nike

根据那个问题,我越来越担心我项目中内存的管理,当其中一个数组内存发生冲突时,我的程序会崩溃。

this posted question 的不同答案已经收敛到我会将我的数组更改为 Vectors 并且我的一些数组定义如下:

#define Nb 50
int position[Nb];
double indication[Nb];
double sum[Nb];

如何将它们中的每一个更改为

 std::vector
std::list?

我们能否在更改声明时操纵/处理它们(例如按升序组织它们或覆盖其中一个值)?

最佳答案

您正在使用固定大小的数组,

#define Nb 50
int position[Nb];

这些的现代 C++ 替代品是 std::array , 而不是 std::vector:

std::array<int, 50> position;

std::vector是一个动态大小的数组,其大小可以在运行时确定并且可以在构建后更改。

int n;
std::cin >> n;
std::vector<int> v(n); // vector has n value constructed ints
v.push_back(42); // v has n+1 ints now.

C++14 提供 std::dynarray ,这是一个动态大小的数组,其大小可以在运行时确定,但不能在构建后更改。

关于c++ - 将我的数组定义更改为 vector 或列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17186829/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com