随笔分类 -  C++

摘要:避免在代码中直接使用delete关键字,这需要: 1、在定义单个数据对象时尽量在stack上分配内存;如果必须使用free store内存的话,则使用std::auto_ptr<...>定义2、使用传引用方式传参,避免使用传指针的方式,这样既可以免去指针判NULL的检查,又可以在不失去对象所有权的前提下传递std::auto_ptr<...> 对象3、在定义数组时,使用st... 阅读全文
posted @ 2008-09-01 10:19 李现民 阅读(784) 评论(2) 推荐(0)
摘要:hpp,顾名思义等于.h加上.cpp,在boost、Xerces等开源库中频繁出现,偶在机缘巧合之下,学得一招半式,遂记录如下,以供参考学习。hpp,其实质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该hpp文件即可,无需再将cpp加入到project中进行编译。而实现代码将直接编译到调用者的obj文件中,不再生成单独的obj,采用hp... 阅读全文
posted @ 2008-07-09 11:05 李现民 阅读(3550) 评论(0) 推荐(2)
摘要:新一篇:平台无关性程序的构造0 前言 标准C++线程即将到来。CUJ预言它将衍生自Boost线程库,现在就由Bill带领我们探索一下Boost线程库。就在几年前,用多线程执行程序还是一件非比寻常的事。然而今天互联网应用服务程序普遍使用多线程来提高与多客户链接时的效率;为了达到最大的吞吐量,事务服务器在单独的线程上运行服务程序;GUI应用程序将那些费时,复杂的处理以线程的形式单独运行,以此来保证用户... 阅读全文
posted @ 2008-07-08 10:14 李现民 阅读(5136) 评论(0) 推荐(0)
摘要:显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题。而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案。MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单,只要使用方法得当,再加上一些技巧,用MFC可以得到效率很高的绘图程序。我想就我长期(呵呵当然也只有2年多)使用MFC绘图的经验谈谈我的一些观点。1、显示的图形为什么会闪烁?我们的绘图过程大多放在OnDraw或者O... 阅读全文
posted @ 2008-07-03 17:11 李现民 阅读(1128) 评论(0) 推荐(0)
摘要:夜弓写了一个C++的数学表达式库。这个库还是满有创意的,使用它构造了一个函数对象之后,你就可以随时传给它适当的参数求得函数的值。因而你的代码几乎就可以像数学表达式那样简洁,并且具有可读性。我在Gcc3.3和Vc2005的编译器上编译通过,没有问题。如果你在更多的编译器上编译通过,请留言让大家知道啊。我偷个懒,下面的介绍摘自作者写的文档。1.你不用声明并实现一个函数就可以得到和它功能相同的函数对象。... 阅读全文
posted @ 2007-06-20 13:45 李现民 阅读(815) 评论(0) 推荐(0)
摘要:如果代码里面有 while(*p) 判断字符串结束的,要用 *p!='\0' 代替。1)sizeof相关系列问题, const相关系列问题a. 对于 struct s{char a;int b} sizeof(s) = 8 因为内存对齐 b. 对于struct s{int a;char b} sizeof(s) = 5 这里不需要内存对齐,对齐只向上不向下,这种考得少c. 对于 int a[200... 阅读全文
posted @ 2007-05-22 22:46 李现民 阅读(1693) 评论(0) 推荐(0)
摘要:1. 查找算法 (13) 为判断容器中是否包含某一个值提供adjacent_find()binary_search()count()count_if()equal_range()find()find_end()find_first_of()find_if()lower_bound()upper_bound()search()search_n()2. 排序(sorting)和通用(ordering)... 阅读全文
posted @ 2007-05-22 22:33 李现民 阅读(1853) 评论(0) 推荐(0)
摘要:1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看; 4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学... 阅读全文
posted @ 2006-09-01 16:03 李现民 阅读(383) 评论(0) 推荐(0)