deque::assign
从双端队列中删除一个元素并复制新元素到目标双端队列。
template<class InputIterator>
void assign(
InputIterator First,
InputIterator Last);
void assign(
size_type Count,
const Type& Val
);
void assign(
initializer_list<Type> IList
);
参数
First
要复制的元素范围中的第一个元素的位置。Last
超越含参数的双端队列范围的第一个元素的位置。Count
插入到列表中的元素副本数。Val
插入到双端队列的元素值。IList
插入到双端队列的 initializer_list。
备注
清除目标中的任何现有元素后的列表中, assign 分配从原始清单或从其他列表到目标列表中插入指定范围的元素或插入指定值的新元素的副本到目标列表.
示例
// deque_assign.cpp
// compile with: /EHsc
#include <deque>
#include <iostream>
#include <initializer_list>
int main()
{
using namespace std;
deque <int> c1, c2;
deque <int>::const_iterator cIter;
c1.push_back(10);
c1.push_back(20);
c1.push_back(30);
c2.push_back(40);
c2.push_back(50);
c2.push_back(60);
deque<int> d1{ 1, 2, 3, 4 };
initializer_list<int> iList{ 5, 6, 7, 8 };
d1.assign(iList);
cout << "d1 = ";
for (int i : d1)
cout << i;
cout << endl;
cout << "c1 =";
for (int i : c1)
cout << i;
cout << endl;
c1.assign(++c2.begin(), c2.end());
cout << "c1 =";
for (int i : c1)
cout << i;
cout << endl;
c1.assign(7, 4);
cout << "c1 =";
for (int i : c1)
cout << i;
cout << endl;
}
要求
标头: <deque>
命名空间: std