C++ Compile-Time字符串操作

use*_*460 5 c++ boost metaprogramming

我查看了boost的mpl :: string,但似乎没有一种简单的方法可以将字符串文字转换为基于单引号整数的mpl :: string格式.我想要做的是在编译时使用编译时字符串生成一些简单数据结构的XML实现.我正在努力让宏自己生成结构并在其中插入一个包含所述XML字符串的常量"meta"字段.

Die*_*lla 3

简短的回答是否定的,没有简单的方法。至少不单独使用 C++,并且在编译时使用。您可以使用脚本或其他代码生成器来生成mpl::string具有正确文字的 s。C++0x 将带来用户定义的文字 [1],允许轻松地逐个字符地操作文字,例如使用可变参数模板。

  1. http://en.wikipedia.org/wiki/C%2B%2B0x#User-defined_literals