如何在C ++源代码中正确设置Thrift结构中的字段?

时间:2015-08-18 17:14:58

标签: c++ thrift

我注意到在我的节俭结构__set_FIELD的生成的C ++类MyThriftStruct中有一个名为MyThriftStruct的方法。调用此方法会将属性MyThriftStruct.__is_set.FIELD设置为true,告诉该字段已设置的结构。

我还注意到在official tutorial中他们通过直接复制值来设置节俭结构的字段:

MyThriftStruct.FIELD = val;

第一种方法看起来很丑,但后者没有改变__isset标志。那么我应该使用哪一个来设置C ++中的thrift结构域?

1 个答案:

答案 0 :(得分:0)

取决于:对于required字段或default(既不需要也不是可选)字段MyThriftStruct.FIELD = val;就足够了。

只有可选字段才需要

set_FIELD(或者需要手动修改__isset结构字段以确保可选字段序列化)