改变STL算法的行为,作用于可移动但不可复制的对象的序列

时间:2014-03-10 15:04:42

标签: c++ c++11 stl move-semantics stl-algorithm

如果我有一个可移动但不可复制的类Foo并将其存储在std :: vector中,那么应用像分区或排序这样的算法有什么警告吗?作为这些算法的一部分,正确实现的无投掷交换应该保证正确的行为吗?

1 个答案:

答案 0 :(得分:4)

http://en.cppreference.com/w/cpp/algorithm/partition

http://en.cppreference.com/w/cpp/algorithm/sort

关于元素行为,两种算法都只要求迭代器可以交换元素,这意味着如果它是可移动类型并且容器正确实现,那么行为将是正确的。