gpt4 book ai didi

c++ - C++中的分页效果是什么?

转载 作者:太空狗 更新时间:2023-10-29 20:49:08 24 4
gpt4 key购买 nike

我遇到了 this因为我试图在 C++ 中学习数组和 vector 。帖子中提到的“分页效果”是什么?另外,只是为了检查我自己的理解,我认为 vector 使用更多时间是因为动态内存分配。我说得对吗?


补充问题:但是用vector<int> arr( 10000 )是不是已经有足够的内存来分配 10000 个 int 了?或者这样说,arr如果我所做的只是遍历每个元素并初始化它们,仍然会增长吗?

最佳答案

如果您使用 push_back(),Vector 将使用动态分配,但您可以强制它使用 reserve() 预分配内存。

已检查的构建(在调试库中很常见)还会检查 vector 操作的边界,这会在 Debug模式下降低它们的速度。发布构建不应比原始 C 慢。

分页意味着当物理内存已满时将内存移出到磁盘。如果您认为内存被调出,则必须小心计时。一种常见的技术是多次运行任务并拒绝最长的时间。

编辑:您应该(几乎)永远不要使用原始“C”类型来代替 STL 以提高效率。编写 STL 的人非常聪明,而且非常关心性能。如果使用得当,它永远不会比“C”差,而且通常会更好。使用 STL 算法而不是您自己的手写循环也是如此。

关于c++ - C++中的分页效果是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1586787/

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