【发布时间】:2014-04-13 18:30:34
【问题描述】:
如果我有一个可移动但不可复制的类 Foo 并将其存储在 std::vector 中,那么应用分区或排序等算法是否有任何警告?作为这些算法的一部分,正确实现的不抛出交换是否应该保证正确的行为?
【问题讨论】:
-
你试过了吗?你有遇到什么问题吗?
-
std::sort需要RandomAccessIterators 是ValueSwappable并且其中*i(i是这样的迭代器)是MoveConstructible,请参阅 [alg.sort]。不存在或不可调用的复制构造函数应该是什么问题?只要 称为 构造函数(对于MoveConstructible)是移动构造函数,我看不出有任何问题。 -
@KerrekSB,我遇到了一些问题。我懒得把我的代码拿出来贴在这里,但我很快就会。
标签: c++ c++11 stl move-semantics stl-algorithm