我的做法可行,但感觉编程糟糕得令人难以置信。
void draw_display()
{
static DISPLAY mydisplay = DISPLAY(parameters);
mydisplay.set_orientation(0);
do something with mydisplay...
}
因此,draw_display 函数是由微控制器的中断调用的。 在我的理想世界中,我会在全局某处声明 mydisplay 对象,设置方向并仅在函数中使用全局对象。
执行此操作的正确 C++ 方法是什么?
这更像是一个“以正确的方式做事”并从中学习的问题。
确保 DISPLAY 类具有带有所需参数的正确构造函数。如有必要,您还应该确保它有析构函数。
在draw_display函数之外初始化mydisplay。这可确保您不会在每次调用该函数时都创建新的 DISPLAY 对象。您可以使用构造函数或初始化函数来初始设置对象。
class DISPLAY {
public:
DISPLAY(parameters) {
// Constructor implementation with parameters
}
~DISPLAY() {
// Destructor implementation if necessary
}
void set_orientation(int orientation) {
// Implementation of set_orientation
}
// Other member functions and data members
};
// Initialize mydisplay outside of draw_display
static DISPLAY mydisplay(parameters);
void draw_display() {
mydisplay.set_orientation(0);
// Do something with mydisplay...
}