c++ - 变量声明对程序效率的重要性

标签 c++ performance variables

假设我这里有一个名为“游戏”的类(class)。其他方法、构造函数和析构函数在我的示例中完全被忽略了,它们与我手头的问题无关紧要。

// 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;
}

所以这是我的问题:手头有任何性能损失/增益吗?这也适用于我意识到的括号范围。但是就性能而言,这是否得到了优化?这取决于编译器吗?

最佳答案

由编译器来优化它。该函数可能会被内联,并且临时变量可能不会存储在寄存器以外的任何地方。

您实际上在这里做的是“过早优化”,这是一种阴险的拖延形式,会阻止您实际编写游戏。先写你的游戏,然后再找出瓶颈。这不会是其中之一。

关于c++ - 变量声明对程序效率的重要性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17036073/

相关文章:

java - 使对象成为静态的好处,即使它们不需要如此?

performance - 页面加载时间减少 200 毫秒是否有意义?

Jquery datastring var 返回未定义

c++ - 原始数据类型的大小

c++ - 如何使用 VS2010 为 windows x64 位编译 Leptonica 库?

C++:如何在成员函数模板中使用参数的数据类型

c++ - 在 C++ 中按升序和降序打印数组值

JSP session 内存?

javascript - 脚本错误 : variable is undefined

CSS --Sass 颜色变量