- 博客(7)
- 收藏
- 关注
原创 多用const 尽量不使用#define
昨天晚上在debug别人的一个程序的时候,发现一个问题数据老不对。我是从算法上考虑的。想了半天也想不出有什么不对的地方。今天早上发现了这样一条语句:p= p/PAN_PERUNIT;这个时候我突然想到 #define PAN_PERUNIT 0.0129*pi/180原因找到了是这个define的缘故。所以在C++中鼓励尽可能使用const而不用#define。哎,花了一个晚上时间居然发现是这个问
2004-10-14 09:57:00 1400 2
原创 boost thread (2)
很多程序实现的时候并没有设计成可重入。这种函数在使用的时候一定要小心,特别是在多线程的情况下。因为当别的函数正在调用这个函数时,你再调用这个函数,那么很可能得到的结果是unpredictive的。一般情况下如果这个函数使用了静态的数据那么这样的程序一般是不可重入的。例如std::strtok就是一个不可重入的函数,因为它是利用静态数据来保存被分成token的string的。一个不可重入程序
2004-10-12 21:18:00 2975 2
原创 boost thread(1)
想自己试试thread好用不好用。这是boost的一大特色。如果加到standard C++中的话,那么确实能够提高效率。 晚上调试thread的时候刚开始遇到一个问题告诉我boost_thread-vc71-mt-gd-1_31.dll找不到。这个问题是这样的,因为在jam的时候只是将release版本的dll拷到了windows/systems32下面去了,没有将debu
2004-10-11 23:15:00 2692 2
原创 Boost 安装
安装boost比以前简单多了。第一次听说boost以为是adaboost一种算法。后来才知道是一个C++libray,一直只是耳闻。没有使用过。所以试用之。step1.从www.boost.org下载boost库 step2 在 tools/build/jam_src目录下 运行build.bat来生成jamstep3 设置环境变量 PATH= C:/Program Files/Microsoft
2004-10-10 22:23:00 1905 1
原创 关键词__gc
__gc是managed C++ extension中的东西对应的有__value.两者的区别在于__gc 一般对应于比较复杂的class.当该成员生命周期结束时会自动destruct掉。这样声明以后即使你在显示调用析勾函数也是无效的。这是析勾的工能是通过CLR来实现的。另外该关键词好像不能全局使用。__value对应于小的struct。详细的功能见MSDN(即用即查)这种关键词,我是不会去常使用
2004-10-10 22:09:00 1152
原创 iterator 的使用
iterator有istream_iterator ostream_iterator forward iterator bidirection iterator random access iterator 这些是一些常用的iterator根据功能分的。 另外还有 insert iterator 中有 back_insert_iterator or back_insert() f
2004-10-09 22:29:00 2198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人