序列化操作的含义顾名思义,即按一定的次序将数据保存到存储设备中,或者从存储设备中读取一定次序的数据,且数据类型要保持一致(即读出的数据是我知道的类型)。过程知道了,那怎么做呢?我是借助Qt框架实现的一个简单的程序。(当然框架把复杂的部分给实现了。如果在你封装的数据中,意思是非Qt标准的数据类型,那么有必要实现"<<" 和 ">>
看了MFC中的动态创建对象后,感觉动态创建对象算是一种技术吧,理论上说算是一种设计模式。其实创建的原理很明了,把对象的类别名称和其构造函数用容器记录下来,在需要的时候给出创建类别查找容器即可创建对象。当然这里我们需要自定义一个全局的函数指针用来指向类别的构造函数。在这里我们使用类工厂模式,在泪工厂中我们定义一个通用构造函数,将函数指针指向它。下面是参
__declspec(selectany)的作用最近在用 template 编写singleton模式代码的时候,遇到了一个问题,template要求实现要在同一个文件中,所以,我只能在h文件中定义并实现 singleton 模式类。类中必然要有静态成员变量,静态成员变量的定义成了问题,如果我放在cpp文件中,模板是不支持的,放在h文件中,如果h文件被多次包含,会出现重定义的情况。 &n
MFC六大核心机制之四:永久保存(串行化) 前一段时间我对MFC的Persistence机制的理解很困惑,一直没看明白。通过这位网友的笔记,总算是弄清楚了。他提出的误区很好,我也被误入歧途中。为此分享一下,与君共勉。 永久保存(串行化)是MFC的重要内容,可以用一句简
C语言中extern的用法:在C语言中,修饰符extern用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”。1. extern修饰变量的声明。举例来说,如果文件a.c需要引用b.c中变量int v,就可以在a.c中声明extern int v,然后就可以引用变量v。这里需要注意的是,被引用的变量v的链接属性必须是外链接(external)的,也就是说a.c要引用到v,
1.虚函数(impure virtual) C++的虚函数主要作用是“运行时多态”,父类中提供虚函数的实现,为子类提供默认的函数实现。 子类可以重写父类的虚函数实现子类的特殊化。 如下就是一个父类中的虚函数:class A { public: virtual void out2(string s) &nb
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号