STL
问渠清如许
温故知新,每天总结,提高自己,追求喜欢的女孩
展开
-
string类字符串中的两个查找字符函数
string::find_first_of(char c, int iStart = 0) 该函数表示从iStart的位置开始查找字符c, 如果找到返回第一次找到的位置,注意:这里的位置都是索引,从0开始;如果没有找到则返回-1; string::find_last_of(char c); 该函数表示最后一次找字符的位置,如果没有找到则返回-1; 因为是从最后开始找,所以没有必要起始原创 2015-09-24 23:44:09 · 549 阅读 · 0 评论 -
vector的删除
今天写vector删除的时候犹豫了一下。 vector删除的时候都是用erase(where);这个函数调用的时候,如果删除成功, iterator会自动移动到下一个。所以在循环操作的时候注意一下就行了。 例子: vector l_vectorInt; for (int ii = 0; ii { l_vectorInt.insert(ii); } vector::iterat原创 2015-09-28 21:43:10 · 415 阅读 · 0 评论 -
stl 中的栈
栈:后进先出 在stl标准C++库中是含有栈的结构的,因此不用再写一份栈的数据结构 #include //栈的头文件 bool empty() //栈是否为空 void pop() //从栈顶删除元素(栈不能为空) void push() //在栈顶插入一个新的元素 int size() //栈的数据原创 2015-10-05 14:28:54 · 336 阅读 · 0 评论 -
我不经常用的
vector::back() //返回最后一个元素, vector::pop_back() //删除最后一个元素,前提为向量不为空 vector::empty()原创 2015-10-04 14:53:32 · 216 阅读 · 0 评论 -
vector::push_back
向量容器插入元素用push_back()。但这样会造成一个问题,当每次插入元素的时候都会判断向量的空间是否足够,如果不够,内部会调用reserve来分配空间,这样就会造成频繁的申请空间,造成效率的浪费。因此可以在初始化时分配一块空间,或者在不够的时候分一块稍微大的空间原创 2015-10-04 16:14:47 · 329 阅读 · 0 评论 -
迭代器
迭代器在容器中类似C++中的指针,用iterator来进行声明。 如果是常量迭代器就用const_iterator来进行声明,常量迭代器不能用insert和erase原创 2015-10-05 14:04:54 · 226 阅读 · 0 评论 -
模板list
list::push_back() //在后面插入元素 list::push_front() //在前面插入元素 list::front() //访问第一个元素 list::back() //访问最后一个元素 list::pop_front() //删除第一个元素 list::pop_back() //删除最后一个元素 list:原创 2015-10-04 17:55:51 · 235 阅读 · 0 评论 -
stl set
标准库提供了两种关联容器,集合set和映射map,在集合中元素就是“键”, 在映射中“键-值”;这两者都必须保证了键的唯一。当然stl也提供了多重集和多重映射容器。 bool empty() //集合是否为空 int size() //集合众元素的个数 //在集合众查找键key,找到就返回迭代器,不在返回end iterator find(const原创 2015-10-06 20:39:30 · 251 阅读 · 0 评论