摘要:
这是一个相当于“Hello world!”的任务,作为认识ATL,考查了其运作流程与机制。环境:VS2008创建:新建-项目-Win32项目-添加公用头文件用于(选择ATL)。PS:注意新建项目取消预编译头与设置自增链接为默认需要用到的头文件:,,OK,下面进行程序设计:(非完整代码,主要便于认识)Main函数:intAPIENTRY_tWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPTSTRlpCmdLine,intnCmdShow){CMyWindowmyWnd;myWnd.Create(NULL,CMyWindow::rcDefau 阅读全文
摘要:
因为C++支持两种字符串,即常规的ANSI编码(使用""包裹)和Unicode编码(使用L""包裹),这样对应的就有了两套字符串处理函数,比如:strlen和wcslen,分别用于处理两种字符串TCHAR是通过define定义的字符串宏因为C++支持两种字符串,即常规的ANSI编码(使用""包裹)和Unicode编码(使用L""包裹),这样对应的就有了两套字符串处理函数,比如:strlen和wcslen,分别用于处理两种字符串微软将这两套字符集及其操作进行了统一,通过条件编译(通过_UNICODE和UNICODE宏 阅读全文
摘要:
地址:http://www.cppblog.com/dyj057/archive/2005/09/20/346.htmlSingleton模式是常用的设计模式之一,但是要实现一个真正实用的设计模式却也不是件容易的事情。1.标准的实现classSingleton{public:staticSingleton*Instance(){if(0==_instance){_instance=newSingleton;}return_instance;}protected:Singleton(void){}virtual~Singleton(void){}staticSingleton* _instanc 阅读全文
摘要:
1.模板的概念。我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。//函数1.int max(int x,inty);{return(x>y)?x:y ;}//函数2.float max(float x,floaty){return (x>y)? x:y ;}//函数3.double max(double x,doubley){return (c>y)? x:y ;}但如果在主函数中,我 阅读全文