随笔分类 -  C++ STL

摘要:#include #include #include using namespace std;void fstream_test(){ ifstream fin("stream_test.cpp"); if(!fin) { cout>word) { cout>str) { cout<<str<<endl; } cout<<ss.str()<<endl;}int main(int argc, char* argv[]){ //fstream_test(); //sstream_test(); stringstre.. 阅读全文
posted @ 2013-09-23 16:10 Leung文
摘要:bool func1(int a){ return a < 5;}struct func2: public unary_function<int, bool>{ bool operator()(int a) { return a < 5; }};struct func3: public binary_function<int, int, bool>{ bool operator()(int a, int b) { return a == b; }};int main(int argc, char* argv[]){ l... 阅读全文
posted @ 2013-05-12 16:11 Leung文
摘要:一、查找算法(13个):判断容器中是否包含某个值1) adjacent_find: 在iterator对标识元素范围内,查找一对相邻重复元素,找到则返回指向这对元素的第一个元素的ForwardIterator。否则返回last。重载版本使用输入的二元操作符代替相等的判断。2) binary_search: 在有序序列中查找value,找到返回true。重载的版本实用指定的比较函数对象或函数指针来判断相等。3) count: 利用等于操作符,把标志范围内的元素与输入值比较,返回相等元素个数。4) count_if: 利用输入的操作符,对标志范围内的元素进行操作,返回结果为true的个数。5) e 阅读全文
posted @ 2013-05-11 15:11 Leung文
摘要:构造函数string();string( const string& s );string( size_type length, const char& ch );string( const char* str );string( const char* str, size_type length );string( const string& str, size_type index, size_type length );string( input_iterator start, input_iterator end );~string();运算符[], =, == 阅读全文
posted @ 2013-05-11 14:42 Leung文
摘要:queue();queue( const Container& con );TYPE front();TYPE back();void push( const TYPE &val );void pop();bool empty();size_type size();void swap( queue &from );stack();stack( const Container& con );TYPE top();void push( const TYPE &val );void pop();bool empty();size_type size();voi 阅读全文
posted @ 2013-05-08 21:35 Leung文
摘要:构造函数map();map( const map& m );map( iterator start, iterator end );map( iterator start, iterator end, const key_compare& cmp );map( const key_compare& cmp );~map();运算符=, ==, !=, >, >=, <, <=两个map相等:所有相同位置的元素相等两个map大小比较:按照词典规则迭代器iterator begin();iterator end();reverse_iterator 阅读全文
posted @ 2013-05-08 21:30 Leung文
摘要:构造函数set(); set( const set &from ); ~set();运算符=, ==, !=, >, >=, <, <=两个set相等:所有相同位置的元素相等两个set大小比较:按照词典规则迭代器iterator begin();iterator end();reverse_iterator rbegin();reverse_iterator rend();新增iterator insert( iterator i, const TYPE& val );void insert( input_iterator start, input_it 阅读全文
posted @ 2013-05-08 21:29 Leung文
摘要:构造函数list(); list( size_type num, const TYPE &val ); list( const list &from ); list( input_iterator start, input_iterator end );运算符[], =, ==, !=, >, >=, <, <=两个list相等:所有相同位置的元素相等两个list大小比较:按照词典规则迭代器iterator begin();iterator end();reverse_iterator rbegin();reverse_iterator rend();访 阅读全文
posted @ 2013-05-08 21:27 Leung文
摘要:构造函数deque(); deque( size_type num, const TYPE &val ); deque( const deque &from ); deque( input_iterator start, input_iterator end );运算符[], =, ==, !=, >, >=, <, <=两个deque相等:所有相同位置的元素相等两个deque大小比较:按照词典规则迭代器iterator begin();iterator end();reverse_iterator rbegin();reverse_iterator r 阅读全文
posted @ 2013-05-08 21:24 Leung文
摘要:构造函数vector(); vector( size_type num, const TYPE &val ); vector( const vector &from ); vector( input_iterator start, input_iterator end );运算符[], =, ==, !=, >, >=, <, <=两个vector相等:所有相同位置的元素相等两个vector大小比较:按照词典规则迭代器iterator begin();iterator end();reverse_iterator rbegin();reverse_ite 阅读全文
posted @ 2013-05-08 21:21 Leung文
摘要:一、STL六大组件1)容器(Container)2)算法(Algorithm)3)迭代器(Iterator)4)仿函数(Function object)5)适配器(Adaptor)6)空间配置器(allocator)二、容器底层实现1)vector:底层数据结构为数组 ,支持快速随机访问2)list:底层数据结构为双向链表,支持快速增删3)deque:底层数据结构为一个中央控制器和多个缓冲区,支持首尾快速增删,也支持随机访问4)set:底层数据结构为红黑树,有序,不重复5)multiset:底层数据结构为红黑树,有序,可重复 6)map:底层数据结构为红黑树,有序,不重复7)multimap: 阅读全文
posted @ 2013-05-08 21:18 Leung文