2009年8月6日

Binary Search Tree的C#实现

摘要: //////////////////////// BST.cs//////////////////////using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace BST{ class node { public node left; public node right; ... 阅读全文

posted @ 2009-08-06 20:55 TobyLin的学习之路 阅读(529) 评论(0) 推荐(0) 编辑

2009年7月31日

delegate event 以及lambda expression的基本例子(synchronous invocation)

摘要: ////////////////////// C#代码 Car.cs////////////////////using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace event_test{ class Car { private int speed; public Car(... 阅读全文

posted @ 2009-07-31 12:10 TobyLin的学习之路 阅读(226) 评论(0) 推荐(0) 编辑

2009年5月31日

【ZZ】COleVariant与常用基本数据类型之间的转换

摘要: COleVariant是数据库常用到的数据类型。它可以是字串,整型值,日期等。知道怎样将它转换为CString很有用处。设有CStringA;COleVariantB;来看看怎样将COleVariant转换为CString:switch(B.vt){caseVT_BSTR:A=V_BSTRT(&B);break;//COleVariant是一个字串caseVT_I2:A.Format(_T... 阅读全文

posted @ 2009-05-31 13:49 TobyLin的学习之路 阅读(2123) 评论(0) 推荐(0) 编辑

2009年5月19日

【提醒】类的static变量应该在类外进行初始化

摘要: 类的static变量具有类似全局变量的效果,其初始化也应该在类外进行:(否则会出现“LINK2001:未解析的符号”的链接错误)class ChairTool:public VATool{public: enum Move_Modifier{MM_Ctrl=1,MM_Shift}; static Move_Modifier move_modifier;…};Ch... 阅读全文

posted @ 2009-05-19 15:13 TobyLin的学习之路 阅读(484) 评论(0) 推荐(0) 编辑

2009年5月18日

【提醒】typedef定义数组类型时的语法

摘要: 对数组进行typedef时注意语法:typedef char Line[81];//Line是char[81] (而不是说char是line[81])Line text, secondline;getline(text);typedef int mat4by4[4][4]; //4*4的二维数组mat4by4 mymat;/////////////////////////可以象下面这样隐藏指针语法... 阅读全文

posted @ 2009-05-18 23:01 TobyLin的学习之路 阅读(3549) 评论(0) 推荐(0) 编辑

2009年5月16日

CWinApp初始化时的Profile设置 VC读写INI文件和注册表

摘要: 对《Microsoft Visual C++ windows applications by example》的Ring程序例子进行了修改,将读写注册表改成了读写自定义ini配置文件的方式。首先将Ring.cpp中的CRingApp::InitInstance()中的SetRegistryKey语句去掉。接着在Doc类的构造函数和析构函数中进行PrivateProfile的读写操作:// CRin... 阅读全文

posted @ 2009-05-16 12:55 TobyLin的学习之路 阅读(1261) 评论(0) 推荐(0) 编辑

2009年5月15日

自定义类型转换函数 operator TYPENAME()

摘要: 1. VAssist插件不能实时检测using namespace XXX的语句,如果cpp文件中用到了自定义的namespace必须在类的定义处列出完整的namespace而不能用using namespace语句才能确保VAssistX正常解析上下文菜单。(最后还是不用VA了。。感觉用using namespace XXX语句还是比较方便)2. ClassX::GetData(){return... 阅读全文

posted @ 2009-05-15 23:52 TobyLin的学习之路 阅读(673) 评论(0) 推荐(0) 编辑

2009年5月10日

ZZ 主要C++流派,看看你是哪一流

摘要: 主要C++流派,看看你是哪一流 ZThttp://blog.csdn.net/nightmare/archive/2006/11/01/1360928.aspx1. 经典C++流:类是核心,例程多用C Runtime的,很少用模版,一般是正统教育的结果。2. 古典C流:基本上当C用,偶尔用用对象,不使用异常,喜欢怀旧。3. MFC流:秉承MFC的风格,主要使用MFC/ATL对象和Win32 API... 阅读全文

posted @ 2009-05-10 03:51 TobyLin的学习之路 阅读(233) 评论(0) 推荐(0) 编辑

总结 GdiObject::DeleteObject()的使用

摘要: 看完了《Microsoft Visual C++ windows applications by example 》第一个例子,做下总结。今天的感想:(1)CObject很好很强大。(2)MSDN上的解释是很好的,不过貌似英文转成中文再加上自己的理解就完全不对了。-_-! (3) GDI容易资源泄漏,以后得看看GDI+//**************************************... 阅读全文

posted @ 2009-05-10 02:12 TobyLin的学习之路 阅读(1653) 评论(0) 推荐(0) 编辑

2009年5月9日

【转载自BAIDU百科】MFC的CObject类

摘要: CObject  CObject是大多数MFC类的根类或基类。CObject类有很多有用的特性:对运行时类信息的支持,对动态创建的支持,对串行化的支持,对象诊断输出,等等。MFC从CObject派生出许多类,具备其中的一个或者多个特性。程序员也可以从CObject类派生出自己的类,利用CObject类的这些特性。CObject的结构  以下是CObject类的定义:  class CObject ... 阅读全文

posted @ 2009-05-09 23:08 TobyLin的学习之路 阅读(484) 评论(0) 推荐(0) 编辑

【转载】WriteProfileInt的使用

摘要: 在Win.ini 中写入一个整数数值的Key. 古老的程序在没有注册表时会这么干. 要在指定的.ini 文件中写入则是 WritePrivateProfileInt95/98写入WIN.INI,NT/2000/XP写入注册表。至于写入注册表哪个位置则是由参数lpszSection和lpszEntry来决定的。GetProfileInt和WriteProfileInt到底有什么用?请指教读/写一个 ... 阅读全文

posted @ 2009-05-09 22:29 TobyLin的学习之路 阅读(897) 评论(0) 推荐(0) 编辑

2009年5月8日

【转载】MFC的DEBUG_NEW与GDI+的冲突问题

摘要: 问题现象在我们使用GDI+的时候,如果程序是一个MFC程序,并且是在debug模式下,那我们可能会得到如下的错误信息:error C2660: ''Gdiplus::GdiplusBase::operator new'' : function does not take 3 parameters 原因在debug模式下,MFC程序要使用一个宏定义来扩展new操作符,使之需要接受两个附加的参数。这两... 阅读全文

posted @ 2009-05-08 23:54 TobyLin的学习之路 阅读(1095) 评论(0) 推荐(0) 编辑

【转载】利用CPU缓存的特性优化数据存储---数组vs链表

摘要: 一个常见的编程问题: 遍历同样大小的数组和链表, 哪个比较快? 如果按照大学教科书上的算法分析方法,你会得出结论,这2者一样快, 因为时间复杂度都是 O(n)。 但是在实践中, 这2者却有极大的差异。 通过下面的分析你会发现, 其实数组比链表要快很多。首先介绍一个概念:memory hierarchy (存储层次结构),电脑中存在多种不同的存储器,如下表 CPU寄存器 – immedi... 阅读全文

posted @ 2009-05-08 23:00 TobyLin的学习之路 阅读(459) 评论(0) 推荐(0) 编辑

虚析构函数的用处

摘要: 《EFFECTIVE C++》条款14:确定基类有虚析构函数“当通过基类的指针去删除派生类的对象,而积累又没有虚析构函数时,结果将是不可确定的”。通常发生的情况是:派生类的析构函数永远不会被调用。派生类的构造函数应在初始化表里调用基类的构造函数;派生类和基类的析构函数应加Virtual关键字。(以正确地根据多态性调用析构函数)不要小看构造函数和析构函数,其实编起来还是不容易... 阅读全文

posted @ 2009-05-08 07:10 TobyLin的学习之路 阅读(404) 评论(2) 推荐(0) 编辑

【转载】用const修饰函数 以及引起的附加限制:const函数不能调用非const的函数或引用非const参数

摘要: 问题来源:《Microsoft Visual C++ windows applications by example 》pdf第74页(书面57页)问题描述:BankAccount类的const实例(const BankAccount account2)对其非const方法account2.withdraw(int)的调用属于非法。原因:withdraw的//*******************... 阅读全文

posted @ 2009-05-08 06:54 TobyLin的学习之路 阅读(2410) 评论(0) 推荐(0) 编辑

导航