- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 MsgPack 的 C API 中,为什么键(例如 msgpack_object_kv 的键字段)是 msgpack_object 类型?
https://github.com/msgpack/msgpack-c/blob/master/src/msgpack/object.h
为什么它们不只是 msgpack_object_raw?它们可以是任何类型吗?
最佳答案
它们可以是任何类型吗?
是的。这正是键被表示为 msgpack_object
-s 的原因。
如果你看maps format specification您可以看到 map 由 N
= map 内的对数定义,其中:
odd elements are key and next element of the key is its associate value
因此您可以自由地使用任何类型的对象作为键。
以下是来自 test/msgpackc_test.cpp
的示例(包含 2 对 map ):
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_OBJECT_BOOLEAN
,第二个键是 MSGPACK_OBJECT_POSITIVE_INTEGER
。
关于c - 为什么 MsgPack 键是 msgpack_object 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13202058/
根据我看到的奇怪行为,我猜测以下代码无效。我的问题是:下面创建的 msgpack_object 是否依赖于 msgpack_sbuffer?也就是说,一旦调用 msgpack_sbuffer_free
在 MsgPack 的 C API 中,为什么键(例如 msgpack_object_kv 的键字段)是 msgpack_object 类型? https://github.com/msgpack/m
我是一名优秀的程序员,十分优秀!