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

浏览:24日期:2023-05-04

问题描述

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

问题解答

回答1:

比如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的指向而已。。

相关文章: