gpt4 book ai didi

C++11 std::reverse() 的便捷包装器

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

这是使用 C++11 右值引用和移动语义来为 std::reverse() 实现便捷包装的正确方法吗?

template <class BIDirContainer> inline BIDirContainer&& reverse(BIDirContainer a) {
std::reverse(begin(a), end(a));
return std::move(a);
}

代码在我的测试用例中有效,但我不确定它的性能:我应该在这里使用 && 还是不必要的?

最佳答案

如果您通过(右值)引用返回,那么您将得到一个悬空引用,因为 a 是一个本地对象。按值返回,一切都应该“正常工作”。

关于C++11 std::reverse() 的便捷包装器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10226508/

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