用Qt Creator替换经常使用的代码片段?

时间:2013-06-07 18:29:18

标签: c++ macros qt-creator

我正在使用Qt Creator(2.7.0)并且我想以更短的方式编写某段代码,而不创建它的附加功能。

想象一个班级:

class Car {
public:
    Car(const int velocity=0);
    int getVelocity() const;
    void setVelocity(const int velocity);
private:
    int m_velocity;
};

我们汽车的其他方法(或其他类的方法)通常需要调用这段简短的代码:

int v = getVelocity();
for (unsigned int i = 0; i < v; i++) {
    // Some behavior
    setVelocity(v + i);
}

“某些行为”部分每次都明显不同。

有没有办法让它成为我能写的东西:

velocity {
    // Some behavior
}

或类似的东西,漂亮而短暂的?

1 个答案:

答案 0 :(得分:3)

不完全看起来像你的帖子,但宏可以完成这项工作:

#define velocity(SOME_BEHAVIOR)            \
    int v = getVelocity();                 \
    for (unsigned int i = 0; i < v; i++) { \
        SOME_BEHAVIOR                      \
        setVelocity(v + i);                \
    }

使用它像:

velocity (
    // Some behaviour
)

使用宏时要注意一些注意事项,特别要注意调用宏时的大括号。