因此,假设我在这里有一门名为“游戏”的课程。在我的示例中,其他方法、构造函数和析构函数被完全忽略,并且与我手头的问题无关紧要。
// Game.hpp
#pragma once
class Game {
public:
...
bool isRunning() { return mRunning; } // See: mRunning
...
private:
bool mRunning; // Holds if the game is running or not
};
好吧,够简单吧?现在这是我关心的地方:
// main.cpp
#include "Game.hpp"
int main(int argc, char* argv[]) {
Game game;
if (game.isRunning()) {
...
}
return EXIT_SUCCESS;
}
那和有什么区别?:
// main.cpp
#include "Game.hpp"
int main(int argc, char* argv[]) {
Game game;
bool running = game.isRunning();
if (running) {
...
}
return EXIT_SUCCESS;
}
所以这是我的问题:手头是否有任何性能损失/收益?这也适用于我意识到的括号范围。但就性能而言,这是否得到优化?这取决于编译器吗?