在C++中要写一个正确的单例类实现其实也是有一定难度的,有很多过去在生产环境中被认为是正确的写法(特别是所谓的double-checked locking写法),都被发现存在潜在的bug。本文记录一下正确的C++单例实现,以备查阅。

Read More

这里我们简要讲解一下Linux环境下curl工具的使用。curl命令是一个功能强大的网络工具,支持通过http、ftp等方式下载、上传文件。还可以用来抓取网页、网络监控等方面的开发,解决开发过程中遇到的问题。

Read More

结构体的sizeof值,并不是简单的将其中各元素所占字节相加,而是要考虑到存储空间的字节对齐问题。本文讲述一下C++中结构体大小的求法。 实验操作系统环境为64bit Centos7.3:

Read More

本文主要讲述如何使用protobuf语言来结构化数据,这包括.proto文件语法,以及如何通过.proto文件产生相应的访问类(class)。本文内容是以proto2为基础来进行讲解的。

Read More

本章主要记录一下C/C++基础方面的一些内容,以备后续查验。当前所使用编译器版本:

# gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Read More

以STL的运用角度而言,空间配置器是最不需要介绍的东西,它总是隐藏在一切组件(更具体地说是指容器,container)的背后,默默工作,默默付出。但若以STL的实现角度而言,第一个需要介绍的就是空间配置器,因为整个STL的操作对象(所有的数值)都存放在容器之内,而容器一定需要配置空间以置放资料。不先掌握空间配置器的原理,难免在阅读其他STL组件的实现时处处遇到拦路石。

Read More