相关疑难解决方法(0)

C++元编程

在我的项目开发期间,我C++经常需要调试,我通常使用这个宏来完成它

#define DBUG(a) {std::cout << #a << " : " << a << std::endl;};
Run Code Online (Sandbox Code Playgroud)

但很多时候我需要做这样的事情

int a;
std :: string b;
double c;
...
...
DBG(a); DBG(b); DBG(c);
Run Code Online (Sandbox Code Playgroud)

但理想情况下,可能只是编写DBUG(a, b, c)DBG(a, b, c, d, e)更多变量来实现这样的事情.经过一些研究,这看起来像是元编程中的一个问题,或者更具体地说是代码生成,但由于我在这些领域的知识有限,我无法找到解决方法.

如果可能的话,我想在不使用Boost或其他外部库的情况下解决这个问题,并使用这些功能,C++98尽管如果不可能我愿意使用C++11.

c++ macros templates metaprogramming

3
推荐指数
1
解决办法
459
查看次数

标签 统计

c++ ×1

macros ×1

metaprogramming ×1

templates ×1