摘要:书中讲private跟复合(或者叫组合)一样,是“根据某物实现出”,而不是public的“is-a”。当然复合还可以表示“has-a”。不过书中推荐尽可能使用复合,而只在需要使用基类的protected成员或重新定义virtual函数时才使用private继承。前者好理解,复合肯定无法使用prote...
阅读全文
摘要:1、通过post任务给io_service的任务队列,这个队列是线程安全的,所以io_service的run函数可以在多个线程中跑,run函数的本质就是从队列中取出任务进行执行,post到队列和从队列中get出来都是线程安全的;2、io_service将socket读写提交给IOCP(Proacto...
阅读全文
摘要:|enum vallue| meaning|| -------- | -------- ||memory_order_relaxed |no sequential guarrantee||memory_order_acquire |本线程中,所有后续的读操作必须在本条原子操作完成后执行||mem...
阅读全文
摘要:C++11之前,并没有严格的左值和右值概念,没有这些概念依然能编写出可靠的程序。而在C++11中引入了右值,以及右值引用这样的概念,最主要的作用有两个:>* 1、引入移动语义,增加了移动构造函数以及移动赋值操作符;>* 2、实现完美转发。第一个作用是大多用户常用的,对右值引用带来影响感触最深的变化,...
阅读全文