C++中的三个交换函数swap、swap_ranges、iter_swap

本文介绍了C++中的三个交换函数:swap、swap_ranges和iter_swap,强调了容器和数组的区别及其对这些函数的影响。swap和iter_swap适用于基本数据类型和基本序列容器,而swap_ranges则专门用于数组。由于数组大小固定,无法与不同大小的数组完全交换,但基本序列容器可以交换不同容量的元素。
摘要由CSDN通过智能技术生成

有三个交换函数,swap、swap_ranges、iter_swap

其中需要注意的是容器和数组虽然都可以充当存放元素的数据类型,但是两个不同的概念,之间的区别是可以将容器看成基本的数据类型,可以像处理基本的数据类型一样来处理容器,比如直接赋值,或者当成参数传递给函数做形参;但是数组有所不同,数组是一个包括有很多元素的数据类型,不能像处理基本数据类型那样直接对数组进行操作,需要借助指针。所以之间的区别也体现在了这三个交换函数的使用上面;

(1)基本数据类型可以使用swap、iter_swap两个函数

(2)基本序列容器可以使用swap、iter_swap、swap_ranges三个函数

(3)数组只能使用swap_ranges。

另外需要注意的是:

数组的大小是固定的,不可能动态的变化,因此int a[5]全部数据不能和int b[8]的全部数据进行交换;但是对基本序列容器而言,由于它支持元素空间动态分配,因此相交换的容器拥有的元素内存空间可以是不同的,所以两个具有不同容量的基本序列容器可以交换,比如vector<int>v1(10)可以和vector<int>v2(3)交换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱听雨声的北方汉

你的鼓励是我努力前进的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值