検索

ホームページ  >  に質問  >  本文

c++ - “swap 只是交换了两个容器的内部数据结构”是什么意思?

《C++ Primer》第五版,中文版。303 页。

天蓬老师天蓬老师2804日前586

全員に返信(1)返信します

  • 大家讲道理

    大家讲道理2017-04-17 13:48:21

    比如vector,它经常是用数组来实现的,那么swap函数只是交换两者内部的数组。。
    比如有

    vector a{ 1, 2, 3, 4, 5 }; // ptr -> [1, 2, 3, 4, 5] 内部大约是这样子
    vector b{ 6, 7, 8, 9, 10}; // ptr -> [6, 7, 8, 9, 10]

    我们进行a.swap(b),就只是交换一下内部指针ptr的指向而已。。

    返事
    0
  • キャンセル返事