在Google的Protocol Buffer Java API中,它们使用了这些方便的Builder来创建一个对象(请参见此处):
Person john =
Person.newBuilder()
.setId(1234)
.setName("John Doe")
.setEmail("jdoe@example.com")
.addPhone(
Person.PhoneNumber.newBuilder()
.setNumber("555-4321")
.setType(Person.PhoneType.HOME))
.build();
但是相应的C++ API没有使用这样的构建器(请参见这里)。
C++和Java API应该正在做同样的事情,所以我想知道为什么它们在C++中没有使用构建器。是否有语言上的原因,即在C++中不习惯或不被支持?或者可能只是编写Protocol Buffers C++版本的人的个人喜好?