当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 序列化初步之三(翻译) http://www.codepro
 

 

    摘要: 在vc开发中,当我们新建一个应用程序工程时,如果在第四页中选择上下文敏感帮助(context-sensitive help)(缺省情况下并没有选择),则应用程序建立以后,会产生一个hlp目录。缺省情况下,系统的帮助文件是winhelp格式的。后缀为*.hlp。其中有一个资源索引文件,后缀为*.hm。这是相应上下文敏感帮助的应用程序资源的索引信息。另外还有微软帮助文件制作工具winhelp。后缀为......
    摘要: 不知大家碰到过这个问题没有,就是当你用两个double值进行计算后,当你想将结果输出时,却得不到希望的结果。反正与想象的不一样,在windows时提供了api解决此问题:(mfc或标准c++好象都没找到简单的解决办法) 示例如下:double d = 5 - 4.99; d应该是等于0.1吧,跟踪一下程序,发现不是,显示的值是0.0099999999999997868(不知道vc的调试器是如......


新手指南-序列化篇之三
序列化初步之三(翻译)

 http://www.codeproject.com/cpp/serialization_primer3.asp 【程序编程相关:BT原理收集---1

【推荐阅读:ADO 方法访问数据库的封装接口(01)

Ø        序列化一个简单类 【扩展信息:一个简洁的读写位图文件的类

在前两部分,我们学习了在通常情况下,如何为序列化提供有力的支持.在这一部分,我们将学习序列化任何一种对象时的特殊的规则.这里有四个常用的参考例子.每个例子都由前一个构成.

Ø        序列化一个派生类

Ø        序列化一个同源的聚集类

Ø        序列化一个异源的聚集类

我们的searialize()方法将返回以下状态码之一:

l        success

l        invalidformat

l        unsupportedversion

l        readerror

l        writeerror

序列化一个简单类

一个“简单类”的定义是:一个即没有父类,也没有聚集类的对象.序列化一个简单的类需要以下步骤:

1.      序列化对象签名与版本

2.      序列化对象成员(如果有)

在下面的例子中,类point包含两个int型变量,表示点的坐标.对象的签名与版本定义成静态成员(m_strsignature与m_nversion),所以每个point类的实例都共享它们.

int point::serialize

    (carchive* parchive)

  {

    assert (parchive != null);

 

    // step 1: serialize signature and version

    int nversion;

    try {

      if (parchive->isstoring()) {

          (*parchive) << point::m_strsignature;

          (*parchive) << point::m_nversion;

      } else {

          cstring strsignature;

          (*parchive) >> strsignature;

          if (strsignature != point::m_strsignature)

             return (status::invalidformat);

          (*parchive) >> nversion;

          if (nversion > point::m_nversion;)

             return (status::unsupportedversion);

      }

 

      // step 2: serialize members

      if (parchive->isstoring()) {

          (*parchive) << m_nx;

          (*parchive) << m_ny;

      } else {

          (*parchive) >> m_nx;

          (*parchive) >> m_ny;

      }

    }

    catch (cexception* pexception) {


...   下一页
 ·vc菜谱详解--udp的服务端    »显示摘要«
    摘要: windows socket是基于伯克利的unix socket的。微软的mfc提供了两种类来支持socket编程。csocket类为网络编程提供了高级别抽象。一个socket是有一种类型的并且与某个process相结合在一起。两类socket都是双向的:可以同时在两个方向进行数据上的交互。两类socket是可用的的:stream sockets:可以提供数据流而且不需要记录边界—&......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE