63

Protocol Buffersのproto2バージョンでは、メッセージ要素のデフォルト値を指定できます。

optional double scaling_factor = 3 [default = 1.0];

proto3でこれができなくなったのはなぜですか? これは、ラッパー コードを記述する必要なく、ネットワーク上で追加のバイト数を節約できる優れた機能だと思います。

4

3 に答える 3

4

自動生成されたファイル .pb.cc には、次のような場所がいくつかあります。

if (this->myint() != 0) {

そして、このようなものはほとんどありません:

myint_ = 0;

では、デフォルト値を有効にして生成しないのはなぜですか

static ::google::protobuf::int32 myint_defaultvalue = 5;

...
if (this->myint() != myint_defaultvalue) {
...

...
myint_ = myint_defaultvalue;
...

代わりは?

于 2015-11-08T17:34:43.003 に答える