移动语义对 C++ 中数据结构的影响

问题描述 投票:0回答:0

我正在创建一个 stl 双端队列作为 unique_ptr 的类成员,并在其中一个类成员函数中返回带有移动语义的双端队列。我不确定返回后类成员 deque 的状态是什么,要么 deque 的内容变为 null,要么这个 deque 本身变为 null。这也会导致内存泄漏吗?

代码片段。

class test
{
    deque<type> m_q;
    public:
    void qEvent(type t);
    type&& getQedEvent(deque<type> &q);
};
void test::qEvent(type t)
{
    m_q.emplace_back(move(t));
}
test::deque&& test::getQedEvent(deque<type>& q)
{
    return move(q);
}
c++ c++11 move-semantics deque
© www.soinside.com 2019 - 2024. All rights reserved.