Đọc vào Protocol Buffer Basics: C++, không tìm thấy gì khớp với tình huống :; với sau .proto xử lý với --cpp_out
,Protobuf: các trường tùy chọn lồng nhau (tùy chỉnh) sẽ được xử lý trong C++ như thế nào?
message A {
required int32 foo = 1;
}
message B {
optional A data = 1;
}
không rõ ràng nhìn accessor/setter được tạo ra để thiết lập lĩnh vực tùy chỉnh tùy chọn (bao gồm cả phần 'loại lồng' mà tôi quá lười biếng để đặt ở đây):
// accessors -------------------------------------------------------
// optional .A = 1;
inline bool has_a() const;
inline void clear_a();
static const int kAFieldNumber = 1;
inline const ::A& a() const;
inline ::A* mutable_a();
inline ::A* release_a();
Vì vậy, cách đặt B :: A thành một số phiên bản trong C++?
THI FILES: .proto, tạo ra kết quả: .h, .cc và một số .java
UPD: trong Java, trường lồng nhau được thiết lập thông qua Builder: xem liên kết ở trên ví dụ (xem cho setData).