protobufer 中, 假设 repeated 字段 msg
调用两次:
msg.add_msg();
msg.add_msg();
GetCachedSize() == 0, 仍为 0;
若 进行序列化 SerializeToArray 或 SerializeToString 等调用后, GetCachedSize() 不为 0, 因为这些序列化函数中调用了 ByteSize(), _cached_size_ 被赋值。
protobufer 中, 假设 repeated 字段 msg
调用两次:
msg.add_msg();
msg.add_msg();
GetCachedSize() == 0, 仍为 0;
若 进行序列化 SerializeToArray 或 SerializeToString 等调用后, GetCachedSize() 不为 0, 因为这些序列化函数中调用了 ByteSize(), _cached_size_ 被赋值。