gpt4 book ai didi

c++ - 附加时是否保留 vector 元素的顺序?

转载 作者:太空狗 更新时间:2023-10-29 21:20:32 25 4
gpt4 key购买 nike

正如标题已经表明的那样,我想知道 vector 元素的内部顺序是否可以仅通过向 vector 附加元素来改变。

这里我指的是没有重新分配的订单更改的可能性,涉及两种不同的情况:

  1. 存储指向类的指针,例如:

    vector<A*> vec;    //for some class A;
    vec.push_back(new A());
  2. 存储类的元素,例如:

    vector<A> vec;    //for some class A;
    vec.push_back(A());

如果顺序可能会发生变化,是否有可能注意到发生了这种变化(例如设置了一些标志,...)?

是否也可以注意到 vector 是否被重新分配?

是否有其他容器(大小动态)可以明确保留任何元素(如列表)的内部顺序?

非常感谢!

最佳答案

Is order of vector elements preserved when appending?

是的。

Are there other containers (dynamic in size) which preserve definitely the internal order of any elements (like a list)?

全部sequence containers在 C++ 中保留内部顺序。所有其他的不一定(尤其是关联容器)。

关于c++ - 附加时是否保留 vector 元素的顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24404643/

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