为什么swap()函数不能与vector的迭代器一起使用?

时间:2018-08-29 05:46:23

标签: c++

我只是无法理解为什么swap()函数不能工作?它还接收两个迭代器。谁能告诉我原因?

  <div class="g-signin2" data-onsuccess="onSignIn" data-theme="dark"></div>

3 个答案:

答案 0 :(得分:12)

swap()从字面上交换传递给它的内容。对于您而言,它是在交换it1it2本身,而不是它们“指向”的内容。您可以使用std::iter_swap()来交换两个迭代器“指向”的内容。

答案 1 :(得分:2)

swap交换迭代器而不是内容迭代器指向的迭代器。您需要的是iter_swap

答案 2 :(得分:0)

您可以这样尝试

指针值efbeadde*a*b一起使用iterator

swap