代码改变世界

随笔档案-2015年03月

一个参数处理类

2015-03-30 23:37 by rangers, 353 阅读, 收藏,
摘要: 在最近的项目中,使用的插件式架构, 插件的每个功能都需要用户输入的参数(所需的参数值配置在xml文件中),之前的做法是将每个功能需要的所有参数定义成结构体程序一开始,解析XML文件,将对应名称的参数值填充到相应的字段中。如果参数个数很多,则参数结构体的字段就会很多,写起来就会很麻烦,而且当某个模块新... 阅读全文

使用stringstream格式化字符串

2015-03-28 08:07 by rangers, 4579 阅读, 收藏,
摘要: stringstream所在头文件为一般有如下常用功能:1、安全格式化字符串stringstream常用来安全的格式化若干个字符串,数值到一个缓冲区, 而不用担心溢出, 可以用来取代sprintf.注:使用stringstream 将int or double 等类型转换成string,如果你想要转... 阅读全文

C++读写文件

2015-03-28 00:33 by rangers, 311 阅读, 收藏,
摘要: 1、设置浮点数的显示精度//设置浮点数输出的小数位数 设置4位小数输出//方式1 cout.setf(ios_base::fixed,ios::floatfield);cout.precision(4);//方式2//使用控制符 要包含iomanip头文件cout << std::fixed << ... 阅读全文

C++关联式容器的排序准则

2015-03-26 23:55 by rangers, 1181 阅读, 收藏,
摘要: stl中set和map为关联式容器,会根据排序准将元素自动排序。原型如下:template, class _Alloc = allocator >class settemplate, class _Alloc = allocator > >class map默认的排序准则为less 即通过 oper... 阅读全文

C++实现不能继承的类

2015-03-25 21:40 by rangers, 376 阅读, 收藏,
摘要: 实现一个不能继承的类,这在Java等语言中是很好实现的,被final关键字修饰的类不能被继承。C++中没有类似的关键字,须自己实现。一般有如下两种方法:1、设置构造方法与析构方法为私有class FinalClass{public: static FinalClass * GetInst... 阅读全文