我注意到在我的节俭结构__set_FIELD
的生成的C ++类MyThriftStruct
中有一个名为MyThriftStruct
的方法。调用此方法会将属性MyThriftStruct.__is_set.FIELD
设置为true,告诉该字段已设置的结构。
我还注意到在official tutorial中他们通过直接复制值来设置节俭结构的字段:
MyThriftStruct.FIELD = val;
第一种方法看起来很丑,但后者没有改变__isset
标志。那么我应该使用哪一个来设置C ++中的thrift结构域?
答案 0 :(得分:0)
取决于:对于required
字段或default
(既不需要也不是可选)字段MyThriftStruct.FIELD = val;
就足够了。
set_FIELD
(或者需要手动修改__isset
结构字段以确保可选字段序列化)