• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
sfesly
博客园 首页 新随笔 联系 订阅 订阅 管理

随笔分类 -  STL

 
C++11 auto_ptr 的问题
摘要:auto_ptr作为最早的智能指针,可以实现以RAII手法管理堆区对象,但它设计的本意只是简单的利用C++对于栈区对象的自动析构管理堆区对象, 并不像shared_ptr那样包含引用计数,可以在每次拷贝的时候多出一个“分身”。这时候,拷贝的语义就成了很大的问题(按理说直接禁掉可能好好些), 于是就出 阅读全文
posted @ 2016-02-28 14:36 sfesly 阅读(1303) 评论(0) 推荐(0)
std::vector<bool>中的坑
摘要:http://www.cplusplus.com/reference/vector/vector/?kw=vector C++中,vector<bool>为了达到节省内存的目的,专门做了特化,大概方式就是用bit位来存储数组中的元素。代价就是,这个容器里面的内置类型乱掉了: member type 阅读全文
posted @ 2016-02-25 19:44 sfesly 阅读(3984) 评论(0) 推荐(0)
C++11 std::copy
摘要:这个函数并不是简单的while(first != last){ *result = *first; result++; first++; }事实上这种写法是最具普适性的,值要求inputIterator是输入迭代器,outputIterator是输出迭代器可以想像我们熟悉... 阅读全文
posted @ 2015-12-08 20:48 sfesly 阅读(956) 评论(0) 推荐(0)
C++11 move_iterator
摘要:template class move_iterator { Iterator current; public: typedef Iterator iterator_type; typedef typename std::iterator... 阅读全文
posted @ 2015-12-08 19:53 sfesly 阅读(816) 评论(0) 推荐(0)
STL中的lower_bound和upper_bound的理解
摘要:STL迭代器表述范围的时候,习惯用[a, b),所以lower_bound表示的是第一个不小于给定元素的位置upper_bound表示的是第一个大于给定元素的位置。譬如,值val在容器内的时候,从lower_bound到 upper_bound表示的就是整个容器中与val相等的元素的位置了 阅读全文
posted @ 2015-08-08 09:38 sfesly 阅读(360) 评论(0) 推荐(0)
STL sort “invalid operator <”
摘要:跟踪了下,是比较函数(下面的_Pred)的问题:template inlinebool _Debug_lt_pred(_Pr _Pred,_Ty1&& _Left, _Ty2&& _Right,_Dbfile_t _File, _Dbline_t _Line){ // test if _Pred(_... 阅读全文
posted @ 2015-03-20 09:24 sfesly 阅读(404) 评论(0) 推荐(0)
C++11中的array
摘要:stl中的vector功能相比普通数据而言是要强大很多的,代价是需要动态的内存管理机制(分配,再分配,释放)。而有时候我们只需要普通的数组而已,这就带来了效率上的浪费。array就是用来代替普通的数组的,打开头文件,发现该模板中有如下语句:_Ty _Elems[_Size == 0 ? 1 : _S... 阅读全文
posted @ 2014-11-22 08:35 sfesly 阅读(260) 评论(0) 推荐(0)
STL 中的链表排序
摘要:一直以来学习排序算法, 都没有在链表排序上下太多功夫,因为用得不多。最近看STL源码,才发现,原来即使是链表,也能有时间复杂度为O(nlogn)的算法,大大出乎我的意料之外,一般就能想到个插入排序。下面的代码就是按照源码写出的(去掉了模板增加可读性),注意forward_list是C++11新加的单... 阅读全文
posted @ 2014-11-20 21:08 sfesly 阅读(470) 评论(0) 推荐(0)
 

公告


博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3