考慮下面的語(yǔ)句:
int arr[]={1,2,3,4,5};
vector<int>vi;
copy(arr,arr+5,vi.begin());
該語(yǔ)句不會(huì)執(zhí)行,因?yàn)闆](méi)有為vi分配存儲(chǔ)空間,而copy函數(shù)使用復(fù)制運(yùn)算符將元素從源拷貝到目的。STL提供了三種可以將元素插入到目的的迭代器,成為插入迭代器。
back_inserter:這種迭代器調(diào)用容器的push_back操作替代賦值運(yùn)算符。該迭代器的參數(shù)是容器本身。
front_inserter:該迭代器使用push_front操作替代賦值運(yùn)算符。參數(shù)是容器本身。
inserter:該迭代器使用容器的insert操作替代賦值運(yùn)算符。該迭代器有兩個(gè)參數(shù):第一個(gè)參數(shù)是容器本身,第二個(gè)參數(shù)是容器的一個(gè)迭代器,用以指定插入位置。