gpt4 book ai didi

c++ - 不使用 C++11 移动 vector

转载 作者:行者123 更新时间:2023-11-30 01:53:53 25 4
gpt4 key购买 nike

假设我有这样的东西:

struct Foo
{
void Bar (std::vector <int> &vec) ;
std::vector <int> m_vec ;
};

void Foo::Bar (std::vector <int> &vec)
{
// Do stuff...

m_vec = std::move (vec) ;
}

有什么方法可以模拟 m_vec = std::move (vec) ; 行吗? ?假设传入的 vec 是在堆栈上分配的。

最佳答案

也许是这样的:

void Bar(std::vector<int> & vec)
{
m_vec.swap(vec);
std::vector<int>().swap(vec); // clear "vec"
}

关于c++ - 不使用 C++11 移动 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22692039/

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