C + + STL 中存在各种各样的 copy () ,允许以不同的方式执行复制操作,它们都有自己的用途。所有这些都在 头文件 < algorithm > 中定义。
1.Copy (strt _ iter1,end _ iter1,strt _ iter2) : 用于将一系列元素从一个容器复制到另一个容器的通用复制函数。
strt_iter1
: The pointer to the beginning of the source container, from where elements have to be started copying. 指向源容器开头的指针,必须从这里开始复制元素
end_iter1
: The pointer to the end of source container, till where elements have to be copied. 指向源容器末尾的指针,直到必须复制元素的位置
strt_iter2
: The pointer to the beginning of destination container, to where elements have to be started copying. 指向目标容器开头的指针,指向必须开始复制元素的位置
2.Copy _ n (strt _ iter1,num,strt _ iter2) : 这个版本的复制允许自由选择在目标容器中复制多少元素
strt_iter1
: The pointer to the beginning of the source container, from where elements have to be started copying. 指向源容器开头的指针,必须从这里开始复制元素
num
: 数字: Integer specifying how many numbers would be copied to destination container starting from strt_iter1. If a negative number is entered, no operation is performed. 整数指定从 strt _ iter1开始将多少个数字复制到目标容器。如果输入负数,则不执行任何操作
strt_iter2
: The pointer to the beginning of destination container, to where elements have to be started copying. 指向目标容器开头的指针,指向必须开始复制元素的位置
Output:
3.Copy _ if () : 顾名思义,此函数根据“条件”的结果进行复制。这是在第4个参数的帮助下提供的,该参数是一个返回布尔值的函数。这个函数有4个参数,其中3个类似于 copy () ,还有一个附加函数,当返回 true 时,一个数字被复制,else 数字不被复制。
4.Copy _ back () : 这个函数开始从后向复制元素到目标容器中,并一直复制到所有数字都没有被复制为止。复制从“ strt _ iter2”开始,但是是向后的方向。它还接受与 copy ()类似的参数。