gpt4 book ai didi

c++ - 如何以更好的性能传递和共享 shared_ptr 所有权?

转载 作者:太空狗 更新时间:2023-10-29 23:11:38 26 4
gpt4 key购买 nike

<分区>

例如

class A
{
public:
// Option 1
void setI_1(shared_ptr<int> i) { m_i = i; }

// Option 2
void setI_2(shared_ptr<int> i) { m_i = move(i); }

// Option 3
void setI_3(shared_ptr<int> const& i) { m_i = i; }

private:
shared_ptr<int> m_i;
};

通常哪个选项更好?

我在 Visual Studio 2017 上进行基准测试。选项 2 在我测试的所有情况下都为我提供了最佳性能。在某些情况下,选项 3 的性能与选项 2 相似,但在某些情况下更差。谢谢!

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