<<Effective C++>>读书笔记(三)

条款27 尽量少做转型动作C++ 中提供的四种新式转型1.const_cast (expression) 2.dynamic_cast (expression) 3.reinterpret_cast (expression) 4.static_cast (expression) const_cast通常被用来将对象的常量性转除. dynamic_cast 主要用来执行安全向下...
阅读(532) 评论(1)

深入理解docker的link机制

什么是docker的link机制同一个宿主机上的多个docker容器之间如果想进行通信,可以通过使用容器的ip地址来通信,也可以通过宿主机的ip加上容器暴露出的端口号来通信,前者会导致ip地址的硬编码,不方便迁移,并且容器重启后ip地址会改变,除非使用固定的ip,后者的通信方式比较单一,只能依靠监听在暴露出的端口的进程来进行有限的通信。通过docker的link机制可以通过一个name来和另一个容器...
阅读(3645) 评论(0)

<<Effective C++>>读书笔记(二)

条款13 以对象管理资源把资源放进对象内,便可以依赖C++的析构函数自动调用机制,确保资源被释放.两个步骤: * 获得资源后立刻放进管理对象 * 管理对象运用析构函数确保资源被释放这种以对象管理资源的观念被资源获得世纪便是初始化时机也就是所谓的RAII机制.可以为资源专门创建一个类来管理,也可以把资源交由一些智能指针来管理.下面是一个使用RAII机制管理的互斥锁资源:#ifndef LIB_MU...
阅读(262) 评论(0)

[置顶] 可重入、线程安全和异步信号安全

什么是可重入?关于可重入和不可重入这些概念网上可以找到很多,本人表达能力欠佳,所以在此处引用别人的话对这两个概念做一个简单的介绍: 在多线程或有异常控制流的情况下,当某个函数运行到中途时,控制流(也就是当前指令序列)就有可能被打断而去执行另一个函数. 如果在这种情况下不会出现问题,比如说数据或状态不会被破坏,行为确定。那么这个函数就被称做”可重入”的.函数是可重入(reentrant)的,是指对...
阅读(504) 评论(0)

Makefile笔记

入门Makefile的核心和主线是下面这条规则target: prerequisties commandtarget是个目标,是要生成的文件,也可以只是单纯的一个名称(伪目标(后面会介绍)),prerequisties则是生成这个target所需要的文件command则是如果生成target.例子:CC=gcc CFLAGS = -g -lpthread audit: audit_log...
阅读(429) 评论(0)

<<Effective C++>>读书笔记(一)

条款03 尽可能使用const 分清顶层const和底层const的区别 顶层const指的是const在*号的右边,表示指针本身是一个常量,无法修改对象本身. 底层const指的是const在*号的左边,表示的则是指针所指的对象是一个常量, 无法修改其指向的对象 对于内置数据类型来说const无所谓底层(基本类型没有指向某个对象的意思)的概念,引用本身不是对象 所以也无所谓顶层const,只有指针...
阅读(345) 评论(0)
    个人资料
    • 访问:91668次
    • 积分:2025
    • 等级:
    • 排名:千里之外
    • 原创:111篇
    • 转载:0篇
    • 译文:1篇
    • 评论:23条
    博客专栏
    最新评论