2
比方说,这是功能f()
前的预处理定义:如何编写在C++中跳过代码行的预处理器定义?
#define write std::cout << "test";
write
void f()
{
//...
}
,这是宏观的结果:
std::cout << "test"
void f()
{
//...
}
如何编写宏,以便将跳过功能,并且还插入一些代码后面的功能,以便结果将是这样的:
std::cout << "test";
void f()
{
//...
}
std::cout << "test";
你知道我的意思:一个宏(或别的东西),跳过一些代码并插入多行。
+1一个不错的解决方案,但应该避免的解决方案。建议使用一流解决方案 – 2011-12-31 06:47:38
+1基于类的构造函数/析构函数解决方案是一种可行的方法:您可以使用它构建复杂的事物。我们使用它来追踪方法入口和出口,甚至用于捕获生产环境中的崩溃堆栈。 – dasblinkenlight 2011-12-31 06:59:58
噢,谢谢你,这真是太棒了:D,你是什么意思“创建类选项”,我将该对象(该类的)放在函数内部还是外部的beginig中?谢谢。这是如何运作的 :) – codekiddy 2011-12-31 07:52:01