C++
freehyan
人生没有梦想,和咸鱼有什么区别?
展开
-
C++ 单例模式
单例模式Singleton(),应该是设计模式中最简单的一种模式,表明在整个程序执行周期内,类的实例对象只能存在一个。虽然很简单,但是应用场景却是很多,比如windows的任务管理器;windows的回收站,在整个系统运行中,回收站一直维护着一个实例;应用程序的日志应用,一般都何用单例模式实现,这一般是由于共享的日志文件一直处于打开状态,因为只能有一个实例去操作,否则内容不好追加。原创 2016-01-22 17:12:52 · 434 阅读 · 0 评论 -
Boost property_tree 解析配置文件
在日常的开发系统中,不可避免的会解析配置文件,因为使用配置文件更直观,而且修改配置文件就不用再编译代码,当工程很大的时候,编译代码会是一件很痛苦的事。不同的需求的配置文件不同,Boost提供了一个property_tree来解析.xml,.ini,.json,.info四种格式配置文件。 .xml文件 .xml现在已经被广泛应用到数据交换格式,并且property_tree是树形结构,和.xm原创 2016-01-27 22:12:24 · 1716 阅读 · 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原创 2016-03-05 21:52:26 · 411 阅读 · 0 评论 -
C++ 回调机制
回调函数回调机制,函数A的形参包含一个函数指针,函数B传入函数A中。在函数A的函数体中,满足了一定的条件后调用函数B的过程,就是回调机制。而函数B就是回调函数。 回调函数的使用场景?某函数在某个时间或者某个事件下执行,但是确定的时间我不知道,只知道会调用这个函数,那么可以使用回调函数。它被触发可能是时间或者时间或者是中断等,会有一个消息通知,来告知回调函数执行相应的操作。函数指针void func原创 2016-02-20 20:32:05 · 589 阅读 · 0 评论 -
C++ inline
在阅读别人的开源源码时,经常发现一些函数前加了关键字inline,上网查了下,这是内联函数的声明方式。 其主要的特点省去函数调用的开销,提高代码执行效率。 为什么能省去函数调用的开销?内联函数是以复制代码为代价来提高效率的,也就是在程序编译阶段,注意是在程序编译阶段,把内联函数体复制到调用点的函数体中,所以就省去了函数调用的开销。既然有复制函数体,所以有几点需要注意。inline int max原创 2016-03-05 20:35:01 · 434 阅读 · 0 评论 -
C++ mutable
mutable 英语翻译是易变的,性情不定的。常看到用来修饰成员函数变量,表示这个函数可以被修改,即使这个变量在const函数中,mutable修饰的变量也能被修改,从而忽略const的限制。#include <iostream>class CMutable { public: CMutable(void):m_Count(0){} ~CMutable(void){} int原创 2016-03-06 21:14:33 · 390 阅读 · 0 评论