打造 C++ 最灵活动态数组结构 (三)

来源:互联网 发布:spring 数据库配置 编辑:程序博客网 时间:2024/06/12 22:40

    鉴于一些工作原因和一些没人关注的原因, 完成版不在这里贴出来了, 如果真有感兴趣的朋友可以Mail 我, 讨论下。 但MyData的思想是没有问题的。下一步是进一步去掉MyData内部的 类型概念, 以及序列化和反序列化时支持更快捷短小的2进制数据模式。目前已经找到解决方案。这里贴一段非MyData 的另一种数据容器 --- MyDataBinary ,这个子集将来会用做 MaData的 一部分。主要用途是存储类型无关的数据,这些数据可以通过任何方式进行传递,然后再已一种经过检查的安全方式取出来。

 

 

先贴使用方法

  如下:

 

   int iTestData = pam[0].get<int>();
  const char* pszData = pam[1].get<const char*>();

 

其中pam 是一个存储MyDataBinary的 数组结构,这个结构用一个类表示, 传入参数的 时候就好像一个可变的参数列表, 明白我的意思了么? 你可以通过一个参数来传递多个类型的数据, 这样可以统一函数接口,如果要设计回调托管系统,这一点很重要,统一的函数接口是保证函数回调的前提。 还有,如果要设计数据分发机制,这一点也是尤其重要的。 如果你不明白这一点的重要性, 那么你可能出现过在解析某个配置文件或者设计某底层功能时为你认为有必要的各种数据类型一一实现了一个接口,  这有2个坏处 1 眼花,2 未必够用。 下面是代码:

 

  

原创粉丝点击