![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL
文章平均质量分 77
godwater8
这个作者很懒,什么都没留下…
展开
-
C++中慎用memset初始化struct
用MFC的检测heap的检测到程序中有内存泄露,可是找了半天也没找到,最后采用逐步排除的方法终于找到了,在使用一个结构的时候出现的堆泄露,结构的初始化我习惯性的用了memset将结构初始为0,可是结构中用了string型的变量,STL的string会自己动态的分配,如果用memset会丢失掉已分配的字符串缓冲区的内存。于是就产生了内存泄露。所以使用memset以前,要多注意一下结构中都是什么变量。原创 2006-09-03 10:18:00 · 2382 阅读 · 2 评论 -
一个XML比较器
XMLCompare可对2个XML进行比较,比较是忽略兄弟节点间的顺序的,只对包含关系和属性进行比较。写着个程序的目的本来是为了测试我写的一个XML Parser解析结果是否正确。不过这个比较器也可以用于比较其他XML,利用STL中的map和set来存储属性和父子关系,可以轻松实现2个XML在层次逻辑上的比较(不考虑兄弟之间的顺序)。#include #include #include #原创 2006-08-16 15:12:00 · 1115 阅读 · 0 评论 -
简单的类型转换
简单的类型转换,主要用于字符串到其他数字类型的转换,不支持对象转换。需要sstream头文件template T1 Convert(T2 arg) throw(T2){ std::stringstream ss; T1 t; ss ss >> t; if(ss.fail()) { throw arg; } return t;} 以上的转换是C++方式的转换, C的方式一般是用sscanf可原创 2006-08-17 00:25:00 · 629 阅读 · 0 评论 -
std::fstream在VC2003.net中的使用问题
在支持MFC的Win32控制台工程中一般有如下宏#ifdef _DEBUG#define new DEBUG_NEW#endif 定义了该宏会导致include fstream头文件失败,如下:d:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/include/fstream(465) : error C2061: syntax e原创 2006-08-18 11:53:00 · 1224 阅读 · 1 评论