当前位置:  开发笔记 > 编程语言 > 正文

提升序列化NVP宏和非XML元素字符

如何解决《提升序列化NVP宏和非XML元素字符》经验,为你挑选了0个好方法。

当使用BOOST_SERIALIZATION_NVP宏为XML序列化创建名称 - 值对时,编译器很乐意允许编译以下代码,即使元素名称不是有效的XML元素,并且在尝试将对象实际序列化为XML时会抛出异常:

BOOST_SERIALIZATION_NVP(_member[index])

一个明显的解决方法是使用:

boost::serialization::make_nvp("ValidMemberName", _member[index])

但任何人都可以建议一种修改boost的方法,以便非法元素名称会触发编译错误吗?(因此不依赖于单元测试来捕获上述微妙的bug)


编辑:

一种想法是以某种方式声明一个虚拟局部变量,其中传递给宏的元素的名称,假设C++中的有效标识符集是有效XML元素的子集.不完全确定这可以做到.

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有