会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
12345toxcb
Powered by
博客园
博客园
|
首页
|
新随笔
|
联系
|
订阅
|
管理
2019年8月10日
《Linux高性能服务器编程》阅读笔记
摘要: 《Linux高性能服务器编程》阅读笔记 bind成功时返回0,失败时返回-1并设置errno。其中,两种常见的errno是EACCES和EADDRINUSE,他们的含义分别是: EACCES:被绑定的地址是受保护的地址,仅有超级用户可以访问 EADDRINUSE:被绑定的地址正在使用中。 liste
阅读全文
posted @ 2019-08-10 18:22 12345toxcb
阅读(296)
评论(0)
推荐(0)
编辑
STL(九)之iterator
摘要: C++标准库(九)之iterator iterator iterator模式:提供一种方法,使之能依次访问容器内的各个元素,而又不暴露该聚合物内部的表述方式。STL的中心思想是将算法与数据结构分离,彼此独立设计,最后在用iterator将他们结合在一起,获得最大的适配性。 vector 设计理念 v
阅读全文
posted @ 2019-08-10 18:20 12345toxcb
阅读(348)
评论(0)
推荐(0)
编辑
STL(八)之图解bind函数对象
摘要: C++标准库(八)之图解bind函数对象 bind与普通函数的绑定 1. bind可以将用户提供的需要一个参数的函数转换为一个不需要参数的函数对象: 2.使用非成员函数,在使用前和使用时提供参数: bind与类的非静态成员函数的绑定 1.非静态函数成员的使用需要一个隐式的this参数 2.也可以将一
阅读全文
posted @ 2019-08-10 18:18 12345toxcb
阅读(387)
评论(0)
推荐(0)
编辑
STL(七)之萃取技术
摘要: C++标准库(七)之traits技术 traits技术 原理:利用template的参数推导机制获取传入的参数型别。 template<typename T> struct Iter { typedef T value_type; .... } template<typename T> typena
阅读全文
posted @ 2019-08-10 18:17 12345toxcb
阅读(446)
评论(0)
推荐(0)
编辑
STL(六)之空间配置器
摘要: SGI STL内存管理 在SGI STL版本的内存管理中,使用这样一种方式来分配内存:内存分配+对象初始化。首先是分配内存,其次是根据对象的类型(是否为POD【Plain of Data】)来使用最有效的方式来初始化对象。回收内存也是用同样的方式:析构对象+回收内存,根据对象是否为POD类型,确定最
阅读全文
posted @ 2019-08-10 18:11 12345toxcb
阅读(186)
评论(0)
推荐(0)
编辑
STL(五)之智能指针剖析
摘要: C++标准库(五)之智能指针源码剖析 _Mutex_base template<_Lock_policy _Lp> class _Mutex_base { protected: enum { _S_need_barriers = 0 }; }; template<> class _Mutex_bas
阅读全文
posted @ 2019-08-10 18:09 12345toxcb
阅读(817)
评论(0)
推荐(0)
编辑
STL(四)之string
摘要: C++标准库(四)之String String 常见操作 bool empty() const size_type size() const size_type length() const size_type max_size() const size_type capacity() const
阅读全文
posted @ 2019-08-10 18:07 12345toxcb
阅读(195)
评论(0)
推荐(0)
编辑
STL(三)之算法实现
摘要: C++标准库(三)之STL算法 算法头文件: #include<algorithm> #include<numeric> 算法简介:STL算法采用覆盖模式而非安插模式,所以调用者必须保证有足够的操作空间。 函数对象类型声明:元素计数 UnaryProc:Op(elem),无返回值 CompFunc:
阅读全文
posted @ 2019-08-10 18:05 12345toxcb
阅读(267)
评论(0)
推荐(0)
编辑
STL(一)之新语言特性
摘要: C++标准库(一)之新语言特性 新语言特性 nullptr被解释为一个void*,不同于NULL被解释为一个int 可以用auto在编译期完成自动推导,不会影响执行期的速度 新的for循环方式: for(decl : coll) { statement } rvalue reference也是一个r
阅读全文
posted @ 2019-08-10 18:01 12345toxcb
阅读(299)
评论(0)
推荐(0)
编辑
STL(二)之容器函数
摘要: C++标准库(二)之容器 Vector 非更易性操作 c.empty() //返回容器是否为空 c.size() //返回目前元素的个数 c.max_size() //返回元素个数的最大可能量 c.capacity() //返回“不进行空间重新分配”条件下的元素最大容量 c.reserve(numb
阅读全文
posted @ 2019-08-10 17:45 12345toxcb
阅读(284)
评论(0)
推荐(0)
编辑
智能指针之scope_ptr与auto_ptr的区别
摘要: scope_ptr是一个很类似auto_ptr的智能指针,它包装了new操作符在堆上分配的动态对象,能够保证动态创建的对象在任何时候都可以被正确地删除。 但scope_ptr的所有权更加严格,不能转让,一旦scope_ptr获得了对象的管理权,你就无法再从它那里取回来. 自己实现的scope_ptr
阅读全文
posted @ 2019-08-10 17:28 12345toxcb
阅读(548)
评论(0)
推荐(0)
编辑
智能指针之share_ptr源码剖析以及线程安全测试
摘要: shared_ptr的实现 看了一下stl的源码,shared_ptr的实现是这样的: shared_ptr模板类有一个__shared_count类型的成员,_M_refcount来处理引用计数的问题。__shared_count也是一个模板类,它的内部有一个指针_M_pi。所有引用同一个对象的s
阅读全文
posted @ 2019-08-10 17:08 12345toxcb
阅读(1172)
评论(0)
推荐(0)
编辑
智能指针之atuo_ptr源码剖析
摘要: 由于c++没有垃圾回收机制,像堆只能手动开辟内存,手动释放,像栈只能系统开辟,系统释放,于是智能指针出现了,它实现了内存的手动开辟,系统释放,防止了内存泄漏问题; 我们知道, 栈对象在离开其作用域的时候, 会自动调用析构函数, 所以, 可以考虑把某一栈对象与某一堆内存绑定,且在其析构函数中释放堆内存
阅读全文
posted @ 2019-08-10 12:12 12345toxcb
阅读(261)
评论(0)
推荐(0)
编辑