C 插入迭代器

2021-10-02 04:06:53 字數 1364 閱讀 2144

插入迭代器std::inserter、std::front_inserter、std::back_inserter均定義於標頭檔案.

一 申明

std::inserter要求容器支援insert操作。c表示容器,i表示將插入位置的迭代器。

template< class container >

std::insert_iteratorinserter( container& c, typename container::iterator i ); (c++20 前)

template< class container >

constexpr std::insert_iteratorinserter( container& c, ranges::iterator_ti ); (c++20 起)

std::front_inserter要求容器支援push_front操作。c表示容器。

template< class container >

std::front_insert_iteratorfront_inserter( container& c ); (c++20 前)

template< class container >

constexpr std::front_insert_iteratorfront_inserter( container& c ); (c++20 起)

std::back_inserter要求容器支援push_back操作。c表示容器。

template< class container >

std::back_insert_iteratorback_inserter( container& c ); (c++20 前)

template< class container >

constexpr std::back_insert_iteratorback_inserter( container& c ); (c++20 起)

二 舉例

#include #include #include #include #include int main()
輸出:3  2  1  100  4  5  6

三 參考

cppreference: std::inserter 

std::front_inserter

std::back_inserter

插入迭代器

三種型別 front inserter inserter back inserter 需要容器支援對應的push back push front操作。參考在c primer第四版,中文版p348頁中,大家應該都會對inserter和front inserter這兩個函式的用法有點疑問吧,經過我的一番...

C STL迭代器 插入迭代器

include stdafx.h include include include include include 演算法庫對所有在容器上的操作有個承諾 決不修改容器的大小 不插入 不刪除 有了插入迭代器,既使得演算法庫可以通過迭代器對容器插入新的元素,又不違反這一承諾,即保持了設計上的一致性。usi...

STL 之插入迭代器

目錄 int list 5 vectorvlist copy list,list 5,vlist 當使用上述方式進行賦值時,由於vlist沒有分配空間,而出錯。解決方法使用遍歷陣列,並呼叫push back方法將元素儲存到vlist中。另外一種比較好的方式是通過插入迭代器完成。三種插入迭代器 bac...