
C/C++
smuggler_2003
这个作者很懒,什么都没留下…
展开
-
学好C++的读书链
最近忙于找工作,看到了那些公司的要求,为了应付他们所谓的熟悉C/C++语言,特意把以前的书翻出来好好温习了一遍.不看不知道,一看吓一跳.发现以前看这些很基础的书的知识我还远远没有掌握,以前不过是匆匆浏览一遍便以为已经全盘掌握了,仿佛写书的作者还不如自己水平,真到现在才发觉当时如此幼稚.又顿时恍然为何自己写的程序总是漏洞百出,原来是底子不行.作为一个C++初学者,其实最应该仔细的阅读的就是>,这原创 2006-03-22 19:34:00 · 848 阅读 · 0 评论 -
基于策略的通用资源池
在很多程序中都使用到了一些特定资源,比如数据库连接、线程句柄、IMAP连接、LDAP连接等等。在单线程环境下,可能这些资源还能比较容易的管理并分配,但在多线程环境中,管理并发的资源获取和资源释放不是一件容易的事。因此,一般情况下,会在这些程序内部实现一个连接池或者线程池以达到在多线程环境下管理这些资源的目的。但是这些实现一般都针对特定类型的资源,从一个数据库连接池的实现转移到一个线程池的实现,原创 2009-12-29 16:01:00 · 1316 阅读 · 0 评论 -
空对象——对Null的代替
出差!出差!出差!没完没了的出差!害得我blog也不能常常更新了,看样子我是要考虑换个工作了。不过出差也不是一无是处的,在出差的这段时间里终于抽空把Martin的重构看完了。对于其中空对象的用法,倒是令本人感触颇深,故一回上海就立刻记录在此。空对象,顾名思义就是什么也没有的对象。先看一段代码就明白了。if(systemdata == Null) thetime = systemda原创 2007-04-10 09:52:00 · 871 阅读 · 0 评论 -
iostream的格式状态
想要在cout的时候输出16进制的数字而不是默认的10进制,就在输出数字之前使用语句:cout<<hex;操 作 符 操 作 符 含 义boolalpha 把true 和false 表示为字符串*noboolalpha 把true 和false 表示为0 1showbase 产生前缀指示数值的进制基数*noshowbase 不产生进制基数前缀showpoint 总是显示小数点*n原创 2006-08-22 08:25:00 · 954 阅读 · 0 评论 -
踏入C++中的雷区——C++内存管理详解
伟大的Bill Gates 曾经失言: 640K ought to be enough for everybody— Bill Gates 1981 程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本文的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。 1、内存分配方式 内存分配方式有三种:转载 2006-08-09 12:50:00 · 680 阅读 · 0 评论 -
MAKE的使用
看C++ Coding Standards时看到第2条——使用自动构建系统。然后特意去网上搜索了些资料。JAVA的自动构建一般使用ANT;而C++的一般使用MAKE。正好现在的项目是C++的,找了些MAKE的资料。MSDN的:http://msdn.microsoft.com/library/chs/default.asp?url=/library/chs/vccore/html/_asu原创 2006-06-26 11:30:00 · 747 阅读 · 0 评论 -
揭开正则表达式的神秘面纱
揭开正则表达式的神秘面纱[原创文章,转载请保留或注明出处:http://www.regexlab.com/zh/regref.htm]引言 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来:(1)检查一个串中是否含有符合某个规则的子串,并且可以得到这个子串;(2)根据匹配规则对字符串进行灵活的替换操作。 正则表达式学习起来其实是很简单的,不转载 2006-06-21 10:49:00 · 665 阅读 · 0 评论 -
一个关于结构体赋值的问题
最近碰到个问题,关于结构体赋值的问题如果结构体一样,很容易的可以进行赋值,比如:struct mystruct{ int test1; int test2;};mystruct onestruct,twostruct;memcpy(&onestruct ,&twostruct,sizeof(onestruct));但如果结构体不一样,而是有些原创 2006-06-08 08:55:00 · 1259 阅读 · 1 评论 -
一个分别使用std::list的remove和erase的问题
在实际使用上一篇文章提到的基于策略的Pool(http://blog.youkuaiyun.com/smuggler_2003/archive/2009/12/29/5099330.aspx)的时候,发现一个很妖怪的问题:在多次运行之后,可能会偶然崩溃。通过调试,发现总是中断在std::list中的remove函数 void remove(const _Ty& _Val) { // era原创 2009-12-29 16:22:00 · 7781 阅读 · 2 评论