首页 > 解决方案 > 更喜欢 std::swap 到容器的 swap()?

问题描述

IfColl是标准容器类型,a并且bColl;的实例 那么,我们应该总是使用std::swap(a, b)而不是a.swap(b)

对我来说,std::swap(a, b)a.swap(b). 但是,我只是想知道,这可以是最佳实践吗?或任何反例?

标签: c++

解决方案


当有成员交换功能可用时,首选它是有意义的。如果它除了复制默认实现之外什么都不做,为什么它应该首先存在std::swap

除此之外,我会区分标准容器和其他容器。在前一种情况下,std::swap专门为您的容器实例做正确的事情。在后一种情况下,使用成员交换功能。


推荐阅读