gpt4 book ai didi

C++ 指针 vs std::vector:长变量有什么含义?

转载 作者:行者123 更新时间:2023-12-03 06:56:00 29 4
gpt4 key购买 nike

我有 C 背景,我正在用 C++ 重新编写一些旧代码...在此过程中,我开始使用 C++ Vectors,它非常好用!

vector 能很好地处理很长的数据流吗?例如,在音频应用中,加载一首立体声 3 分钟的歌曲将需要将近 16M 的 float

float *stereoSong = NULL;
stereoSong = new floats[15787800];

不必用 vector 处理内存管理是非常好的,但我想知道 C++ vector 是否可以很好地处理大量数据

谢谢!

最佳答案

这是一个错误的比较。

首先, vector 使用指针。他们必须。 vector 是使用动态分配为您提供数据项缓冲区的容器。您可以尝试“使用指针”实现同样的事情,但最终会得到介于 vector 和更差版本的 vector 之间的某种东西。

因此, vector 可以处理的数据量与您使用 new double[] 处理的数据量一样多——也就是说,很多。

关于C++ 指针 vs std::vector:长变量有什么含义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64880497/

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