05 2012 档案
摘要:给大一学生上习题课的一个题目用到多态性下的类型转换。对于多态继承的类型转换,分为upcast和downcast.这两种转换的区别从名字上很容易看出来。从派生类转换到基类为upcast,从基类到派生类称为downcast。当然这种基类中应该有虚函数,也就是说基类是抽象类。因为dynamic_cast动...
阅读全文
摘要:关于STL容器,最令人称赞的特性之一就是是只要不超过它们的最大大小,它们就可以自动增长到足以容纳你放进去的数据。(要知道这个最大值,只要调用名叫max_size的成员函数。)对于vector和string,如果需要更多空间,就以类似realloc的思想来增长大小。这个类似于realloc的操作有四个...
阅读全文
摘要:explicit关键字用于取消构造函数的隐式转换,对有多个参数的构造函数使用explicit是个语法错误。In C++ it is possible to declare constructors for a class, taking a single parameter, and use tho...
阅读全文
摘要:auto_ptr指针介绍(智能指针) auto_ptr指针介绍 auto_ptr是这样一种指针:它是“它所指向的对象”的拥有者。这种拥有具有唯一性,即一个对象只能有一个拥有者,严禁一物二主。当auto_ptr指针被摧毁时,它所指向的对象也将被隐式销毁,即使程序中有异常发生,auto_ptr所指向...
阅读全文
摘要:#includeusing namespace std;class String{friend ostream& operator的头文件!!!
阅读全文
摘要:MFC封装了WIN API.大家都知道.但是MFC应用程序的真正流程又有多少人知道呢? 下面就是我对MFC启动代码的一些剖析. 在TCHAR.H里,有这么2小段define.通过我的简化,我们可以看到: //TCHAR.H #ifdef _UNICODE #define _tWinMain wWin...
阅读全文
摘要:atoi函数的实现 写这个函数的实现的原因很简单,而且也很容易,直接抄袭的库中的源码。因为有朋友面试的时候遇到了,前几天一个哥们面intel的时候也被问到了,巧合的是今天看广联达的面试题再次遇到。一周之内看到三次,让我不得不重视一下啊,毕竟自己也要开始面试题呀面试题了! 其实这个函数比较容易实现,不...
阅读全文
摘要:setsockopt 设置 SO_LINGER 选项 此选项指定函数close对面向连接的协议如何操作(如TCP)。内核缺省close操作是立即返回,如果有数据残留在套接口缓冲区中则系统将试着将这些数据发送给对方。SO_LINGER选项用来改变此缺省设置。使用如下结构:struct linger {...
阅读全文
摘要:目前手头有个关于心博功能的一个案例, 在使用SOL_SOCKET, SO_KEEPALIVE上有一点心得,想写出来和大家分享一下。关于SOL_SOCKET选项SO_KEEPALIVE有一个很详细的英文How TO, 在下面的网页中大家可以看到详细的内容http://www.icewalkers.co...
阅读全文
摘要:------------------本文分2部分 第1部分:概念(NAT与NAT穿透) 第2部分:源代码+效果图+专业资料讲解------------------------------------------------第1部分:概念(NAT与NAT穿透)---------------------...
阅读全文
摘要:多线程是编程中比较容易出问题的一块儿,究其原因,是因为多线程程序往往违背了高级语言屏蔽系统底层细节的设想,而需要程序员对于操作系统的调用机制有深入了解。会用高级语言写算法程序->编写多线程程序可能是一个比较困难的跨越。当然,对于多线程程序来说,即使不掌握操作系统的细节,如果学过一些操作系统的通用原理...
阅读全文
摘要:为什么在DllMain里不能调用LoadLibrary和FreeLibrary函数?MSDN里对这个问题的答案十分的晦涩。不过现在我们已经有了足够的知识来解答这个问题。考虑下面的情况: (a)DllB静态链接DllA (b)DllB在DllMain里调用DllA的一个函数A1() (c)DllA在...
阅读全文
摘要:首先我们先来看一下FreeLibraryAndExitThread这个APIVOID FreeLibraryAndExitThread( HMODULE hModule, DWORD dwExitCode); MSDN:The FreeLibraryAndExitThread function d...
阅读全文