我正在使用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
}
或类似的东西,漂亮而短暂的?
答案 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
)
使用宏时要注意一些注意事项,特别要注意调用宏时的大括号。