03 2015 档案

[Effective C++笔记]条款39:明智而审慎地使用private继承
摘要:书中讲private跟复合(或者叫组合)一样,是“根据某物实现出”,而不是public的“is-a”。当然复合还可以表示“has-a”。不过书中推荐尽可能使用复合,而只在需要使用基类的protected成员或重新定义virtual函数时才使用private继承。前者好理解,复合肯定无法使用prote... 阅读全文

posted @ 2015-03-25 21:48 johnlanni 阅读(153) 评论(0) 推荐(0)

C++并发笔记
摘要:1、通过post任务给io_service的任务队列,这个队列是线程安全的,所以io_service的run函数可以在多个线程中跑,run函数的本质就是从队列中取出任务进行执行,post到队列和从队列中get出来都是线程安全的;2、io_service将socket读写提交给IOCP(Proacto... 阅读全文

posted @ 2015-03-23 23:23 johnlanni 阅读(225) 评论(0) 推荐(0)

[转]C++11中的memory_order枚举值
摘要:|enum vallue| meaning|| -------- | -------- ||memory_order_relaxed |no sequential guarrantee||memory_order_acquire |本线程中,所有后续的读操作必须在本条原子操作完成后执行||mem... 阅读全文

posted @ 2015-03-17 22:17 johnlanni 阅读(161) 评论(0) 推荐(0)

左值/右值引用与完美转发
摘要:C++11之前,并没有严格的左值和右值概念,没有这些概念依然能编写出可靠的程序。而在C++11中引入了右值,以及右值引用这样的概念,最主要的作用有两个:>* 1、引入移动语义,增加了移动构造函数以及移动赋值操作符;>* 2、实现完美转发。第一个作用是大多用户常用的,对右值引用带来影响感触最深的变化,... 阅读全文

posted @ 2015-03-16 20:45 johnlanni 阅读(594) 评论(0) 推荐(0)

导航