如何解决通信架构迁移时的消息格式不一致问题

发布时间 2023-04-26 11:24:47作者: 倾越

有时候,当进行通信架构迁移时,会遇到消息格式不一致的兼容性问题,可采用定义内嵌引用的方式来解决,如下示例:

 1 #include <iostream>
 2 
 3 class A {
 4 
 5 int a = 1;
 6 int& b;
 7 
 8     struct Request {
 9         int c;
10     } request;
11 
12 public:
13     A() : b(request.c) {}
14 
15     void output() {
16         request.c = 1;
17         std::cout << "c:" << request.c << std::endl;
18         std::cout << "b:" << b << std::endl;
19         b = 4;
20         std::cout << "c:" << request.c << std::endl;
21         std::cout << "b:" << b << std::endl;
22     }
23 
24 };
25 
26 int main()
27 {
28   A a;
29   a.output();
30   return 0;
31 }

按上述方法,即可使原数据类型 "b"和新增的Request类型中的"c"是同一个数据,实现兼容。