gpt4 book ai didi

c++ - 交换功能的好处?

转载 作者:IT老高 更新时间:2023-10-28 12:40:08 25 4
gpt4 key购买 nike

浏览一些 C++ 问题我经常看到评论说一个对 STL 友好的类应该实现一个 swap 函数(通常作为 friend )。有人能解释一下这带来了什么好处,STL 如何适合进入这个以及为什么这个函数应该作为一个 friend 实现?

最佳答案

对于大多数类,默认交换很好,但是,默认交换并非在所有情况下都是最佳的。最常见的例子是使用 Pointer to Implementation 的类。成语。与默认交换一样,会复制大量内存,如果您是专门的交换,您可以通过仅交换指针来显着加快速度。

如果可能,它不应该是类的 friend ,但是它可能需要访问您的类可能不想在类 API 中公开的私有(private)数据(例如,原始指针)。

关于c++ - 交换功能的好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1998744/

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