为什么MsgPack键的类型是MsgPack\u object?
在MsgPack的C API中,为什么键(例如MsgPack_object_kv的键字段)是MsgPack_object类型 为什么它们不只是msgpack\u object\u raw?它们可以是任何类型吗?它们可以是任何类型吗 对。这正是键被表示为为什么MsgPack键的类型是MsgPack\u object?,c,msgpack,C,Msgpack,在MsgPack的C API中,为什么键(例如MsgPack_object_kv的键字段)是MsgPack_object类型 为什么它们不只是msgpack\u object\u raw?它们可以是任何类型吗?它们可以是任何类型吗 对。这正是键被表示为msgpack\u对象的原因 如果查看,可以看到映射由N=映射内的对数定义,其中: 奇数元素是键,键的下一个元素是其关联值 因此,您可以自由使用任何类型的对象作为关键点 下面是一个来自test/msgpackc_test.cpp的示例(带有由2对
msgpack\u对象的原因
如果查看,可以看到映射由N
=映射内的对数定义,其中:
奇数元素是键,键的下一个元素是其关联值
因此,您可以自由使用任何类型的对象作为关键点
下面是一个来自test/msgpackc_test.cpp
的示例(带有由2对组成的映射):
unsigned int map_size = 2;
/* ... */
msgpack_pack_map(&pk, map_size);
msgpack_pack_true(&pk);
msgpack_pack_false(&pk);
msgpack_pack_int(&pk, 10);
msgpack_pack_int(&pk, -10);
如您所见,第一个键是MSGPACK\u OBJECT\u BOOLEAN
,第二个键是MSGPACK\u OBJECT\u POSITIVE\u INTEGER