2012-07-18 06:27
⁄ 工业·编程
⁄ 共 1335字
WIN32_FIND_DATA结构描述了一个由FindFirstFile, FindFirstFileEx, 或FindNextFile函数查找到的文件信息,
typedef struct _WIN32_FIND_DATA { DWORD dwFileAttributes; //文件属性 FILETIME ftCreationTime; // 文件创建时间 FILETIME ftLastAccessTime; // 文件最后一次访问时间 FILETIME ftLastWriteTime; // 文件最后一次修改时间 DWORD nFileSizeHigh; // 文件长度高32位 DWORD nFileSizeLow...
c++阅读全文
2012-07-17 06:52
⁄ 工业·编程
⁄ 共 4672字
虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。假设我们有下面的类层次: class A { public: virtual void foo() { cout << "A::foo() is called" << endl;} }; class B: public A { public: virtual void foo() { cout << "B::foo() is called" << endl;} }; ...
c++阅读全文
2012-07-16 23:27
⁄ 工业·编程
⁄ 共 3532字
纯虚函数主要是你不知道这个函数如何定义,即你无法为其写出定义部分,这部分只有在子类中才能够正确表达,比如,我们要定义一个动物类,那它的呼吸方法怎么定义呢,是像鱼那样,还是像人那样,这个没法确定,只能在子类中去定义.
而虚函数则是肯定知道这个函数的定义,并且大部分子类对这方法的定义应该是差不多的,比如我们要定义一个树类,树都可以进行光合作用,大部分树其进行光合作用的方法都差...
c++阅读全文
2012-07-16 23:19
⁄ 工业·编程
⁄ 共 4439字
虚函数联系到多态,多态联系到继承。所以本文中都是在继承层次上做文章。没了继承,什么都没得谈。 下面是对C++的虚函数这玩意儿的理解。 一, 什么是虚函数 简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语言来解释就是实现以共同的方法,但因个体差异而...
c++阅读全文
2012-07-16 22:27
⁄ 工业·编程
⁄ 共 8175字
优化是一个非常大的主题,本文并不是去深入探讨性能分析理论,算法的效率,况且我也没有这个能力。我只是想把一些可以简单的应用到你的C++代码中的优化技术总结在这里,这样,当你遇到几种不同的编程策略的时候,就可以对每种策略的性能进行一个大概的估计。这也是本文的目的之所在。 一. 优化之前 在进行优化之前,我们首先应该做的是发现我们代码的瓶颈(bottleneck)在哪里。然而当你做这件事...
c++阅读全文
2012-07-15 22:45
⁄ 工业·编程
⁄ 共 814字
Windows中有一种比较特殊的文本文件,就是ini文件,该文件是一种结构化的文本文件,主要用来保存简单的配置信息,比如windows中的win.ini,system.ini等都是这种类型的文件,你可以用记事本等文本编辑器打开它并进行查看修改。Windows为了很好的读写这类文件,提供了一些专门的读写函数,我们在自己的应用程序中可以充分的利用这些函数来保存一些比较简单的配置信息。
ini文件结构
Windows的ini文件结构一般...
c++阅读全文
2012-07-15 22:32
⁄ 工业·编程
⁄ 共 528字
1,malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。
2,对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free。
3,因此C++语言需要一个能完成动态内存分...
c++, 区别阅读全文
2012-07-15 22:23
⁄ 工业·编程
⁄ 共 2047字
声明方法的存在而不去实现它的类被叫做抽象类(abstract class)。
不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。
不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。
接口(interface)是抽象类的变体。在接口中,所有方法都...
c++阅读全文
2012-07-14 23:00
⁄ 工业·编程
⁄ 共 3463字
是时候总结一下__declspec(dllimport)的作用了。可能有人会问:__declspec(dllimport)和__declspec(dllexport)是一对的,在动态链接库中__declspec(dllexport)管导出,__declspec(dllimport)管导出,就像一个国家一样,有出口也有进口,有什么难理解的呢?这是一种很自然的思路,开始我也是这样理解。
但是在两年前的一个项目中,我发现不用__declspec(dllimport)似乎也可以。比如现在我新建一个使用共享MFC DLL的规则DLL工程:...
c++阅读全文
2012-07-14 22:58
⁄ 工业·编程
⁄ 共 3992字
前天同事问我在CFileDialog中多选时按确定按钮后DoModal函数的返回值是IDCANCEL。我说不太可能吧。他的代码大致如下:
static TCHAR BASED_CODE szFilter[] = _T("TXT(*.txt)|*.txt||");
CFileDialog dlg(TRUE,_T("txt"), NULL,OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT,
szFilter, NULL );
INT_PTR nResult = dlg.DoModal();
static TCHAR BASED_CODE szFilter[] = _T("TXT(*.txt)|*.txt||"...
c++阅读全文