gpt4 book ai didi

c++ - 空双端队列与未使用的指向双端队列的指针

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:57:12 24 4
gpt4 key购买 nike

我有一个类有时需要使用 deque<int> 类型的成员如果参数传递给构造函数,如果没有,则不会使用该成员。有效且风格化地处理这种情况的最佳方法是什么?

我还想提一下,这个类的对象应该能够传递给同一个函数,尽管删除在同一个容器中存储的能力是可以的。我从未做过多态性(如评论中所暗示),但我想我会阅读并尝试一下。

我的两个想法:
- 将成员变量保留为 deque<int> , 将存储为空 deque<int>我假设。
- 使用指向 deque<int> 的指针, 只调用 new如果需要的话。

最佳答案

也可以在初始化时设置指向deque成员的指针以供使用:

deque<int> queue_;
deque<int> *ptr_;

ptr_(NULL); // not used

ptr_(&queue_);

但是,就速度而言,如果您最常不使用队列,那么新队列可能会更快,因为默认情况下您所做的一切都会在指针中设置 NULL。如果使用 50/50,那么我的方法可能是最快的方法之一,因为您不需要处理更多堆。

关于c++ - 空双端队列与未使用的指向双端队列的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16755821/

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