Protocol Buffer处理嵌套message

Protocol Buffer处理嵌套message

对于复杂结构(嵌套message)

  1. set_allocated_xx函数使用的必须是外部分配(堆)的变量,不能传递stack变量,否则会产生delete
    stack错误;传递堆变量后该变量由protobuf管理
  2. 一般使用mutable_xx函数,该函数内部开辟堆内存空间返回一个指针,通过该指针对message数据进行操作。

代码:

 sm3::m_login_toc msg_toc; 
 sm3::m_permission *per = msg_toc.mutable_per(); 

之后调用set或add之类的方法就OK了

你可能感兴趣的:(后端技术)