c++ - 更喜欢 std::swap 到容器的 swap()?
问题描述
IfColl
是标准容器类型,a
并且b
是Coll
;的实例 那么,我们应该总是使用std::swap(a, b)
而不是a.swap(b)
?
对我来说,std::swap(a, b)
比a.swap(b)
. 但是,我只是想知道,这可以是最佳实践吗?或任何反例?
解决方案
当有成员交换功能可用时,首选它是有意义的。如果它除了复制默认实现之外什么都不做,为什么它应该首先存在std::swap
?
除此之外,我会区分标准容器和其他容器。在前一种情况下,std::swap
专门为您的容器实例做正确的事情。在后一种情况下,使用成员交换功能。
推荐阅读
- java - Spring Boot Entity 中自动生成的唯一键
- c - C中的多个三元逗号?
- javascript - PHP Detect 页面通过 WebView 打开
- flutter - Flutter Dart:错误_ImmutableMap
' 不是类型 'Map 的子类型 - php - Laravel 测试商店方法
- kotlin - Gradle 子模块 compileOnly 函数不存在
- php - 如何根据子域(如 wordpress 主题)更改带有文件的根文件夹
- javascript - “满足条件”在编程语言中究竟意味着什么?
- python - 使用多处理在类方法的 while 循环内运行函数
- c# - Specflow - 如何在 C# 中以编程方式从 srprofile 获取目标名称