类似protobuf的自定义数据结构

本部分纯属练手,参考对protobuf的理解,自己实现一套类似的结构处理,达成的目标:任意两个结构的数据都可以通过中间结构互换,如:

struct Person

{

    int age;

    std::string name;

}per;

struct Student

{

    int age;

    std::string sex;

    std::string name;

}stu;

Jack jack;

jack = stu;

jack.get(per);

备注:

1)中间结构是用自己的英文名Jack命名的;

2)本结构纯属练手,并没有实现用于协议传输的那一部分;

3)工程目录结构如下(结构的每个对象都对应一个Jack对象、取值是存放在JackNode中):

    1)main.cpp  test_struct.h是用于测试的文件;

    2)jack.h  jack_node.h 完成结构和结构节点的定义;

    3)jack_get.h、jack_set.h  完成目标类型数据对Jack结构对象的赋值和获取;

    4)jack_struct.h  针对目标是结构体类型数据的特化处理;

猜你喜欢

转载自tqywork.iteye.com/blog/2394855