【发布时间】:2020-10-05 00:43:30
【问题描述】:
我正在用 C++ 编写自己的游戏引擎,我想知道我应该在哪里初始化每帧都需要的变量,例如,每次移动鼠标指针时,指针位置的坐标应该保存在一个变量中.
我应该在全局初始化变量还是在始终初始化变量 new 的函数中初始化变量?优点在哪里,缺点在哪里?
float offsetX
float offsetY
void mouse_callback(double posX, double posY) {
offsetX = posX - lastX;
offsetY = lastY - posY;
lastX = posX;
lastY = posY;
}
或
void mouse_callback(double posX, double posY) {
float offsetX = posX - lastX;
float offsetY = lastY - posY;
lastX = posX;
lastY = posY;
}
【问题讨论】:
-
拥有的全局变量越少,就越容易推理代码,也就越容易调试代码。但是如果你必须有一个全局变量,它需要在使用之前进行初始化。最佳时间和地点取决于您的代码。
标签: c++ variables memory game-engine