而不是每次都执行以下操作

start();

// some code here

stop();

我想定义某种宏,这样可以编写如下代码:
startstop()
{

//code here

}

在C++中有可能吗?

最佳答案

您可以使用小型C++助手类非常接近地完成某些操作。

class StartStopper {
public:
    StartStopper() { start(); }
    ~StartStopper() { stop(); }
};

然后在您的代码中:
{
    StartStopper ss;
    // code here
}

当执行进入该块并构造ss变量时,将调用start()函数。当执行离开该块时,StartStopper析构函数将被自动调用,然后将调用stop()

10-04 18:30