关闭

C++ mutable

mutable 英语翻译是易变的,性情不定的。常看到用来修饰成员函数变量,表示这个函数可以被修改,即使这个变量在const函数中,mutable修饰的变量也能被修改,从而忽略const的限制。#include class CMutable { public: CMutable(void):m_Count(0){} ~CMutable(void){} int...
阅读(184) 评论(0)

C++ volatile

volatile英文的翻译是不稳定的,在C++中关键字声明表明其后变量值可能被改变,但是声明后,每次取值都是都是到内存中取值,从未防止编译器优化。A volatile specifier is a hint to a compiler that an object may change its value in ways not specified by the language so that a...
阅读(138) 评论(0)

C++ inline

在阅读别人的开源源码时,经常发现一些函数前加了关键字inline,上网查了下,这是内联函数的声明方式。 其主要的特点省去函数调用的开销,提高代码执行效率。 为什么能省去函数调用的开销?内联函数是以复制代码为代价来提高效率的,也就是在程序编译阶段,注意是在程序编译阶段,把内联函数体复制到调用点的函数体中,所以就省去了函数调用的开销。既然有复制函数体,所以有几点需要注意。inline int max...
阅读(165) 评论(0)

C++ 回调机制

回调函数回调机制,函数A的形参包含一个函数指针,函数B传入函数A中。在函数A的函数体中,满足了一定的条件后调用函数B的过程,就是回调机制。而函数B就是回调函数。 回调函数的使用场景?某函数在某个时间或者某个事件下执行,但是确定的时间我不知道,只知道会调用这个函数,那么可以使用回调函数。它被触发可能是时间或者时间或者是中断等,会有一个消息通知,来告知回调函数执行相应的操作。函数指针void func...
阅读(180) 评论(0)

Boost property_tree 解析配置文件

在日常的开发系统中,不可避免的会解析配置文件,因为使用配置文件更直观,而且修改配置文件就不用再编译代码,当工程很大的时候,编译代码会是一件很痛苦的事。不同的需求的配置文件不同,Boost提供了一个property_tree来解析.xml,.ini,.json,.info四种格式配置文件。 .xml文件 .xml现在已经被广泛应用到数据交换格式,并且property_tree是树形结构,和.xm...
阅读(587) 评论(0)

C++ 单例模式

单例模式Singleton(),应该是设计模式中最简单的一种模式,表明在整个程序执行周期内,类的实例对象只能存在一个。虽然很简单,但是应用场景却是很多,比如windows的任务管理器;windows的回收站,在整个系统运行中,回收站一直维护着一个实例;应用程序的日志应用,一般都何用单例模式实现,这一般是由于共享的日志文件一直处于打开状态,因为只能有一个实例去操作,否则内容不好追加。...
阅读(239) 评论(0)
    个人资料
    • 访问:6677次
    • 积分:321
    • 等级:
    • 排名:千里之外
    • 原创:25篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类