搜尋

首頁  >  問答  >  主體

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

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

天蓬老师天蓬老师2808 天前592

全部回覆(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
  • 取消回覆