我一直在研究的C ++项目是使用Google的protobuf进行数据表示,以及它已经创建的protos文件,并且经过编译后可以使用.cc
和.h
。现在我的问题是我可以创建一个我的消息类型数组
class MyMessage : public ::google::protobuf::Message {
...;
....;
}
因为Proto编译器生成的MyMessage
类型似乎没有实现像[]
那样的任何数组对应物,所以当我做
MyMessage * array = new MyMessage[4];
要么
使用STL是唯一的选择;
答案 0 :(得分:2)
MyMessage array = new MyMessage[4];
您无法执行此操作,因为array
是MyMessage
类型的变量,但new MyMessage[4]
会为您提供MyMessage*
(指向数组的指针MyMessage
s )。
你可以做任何一件事
MyMessage array[4];
或
MyMessage *array = new MyMessage[4];
答案 1 :(得分:0)
您可以创建任何完整类型的数组。 (你应该有一个包含类定义的头文件。)