C和C++中的代码优化

msc*_*msc -7 c c++

以下两个代码段之间是否有任何优化?

情况1:

int func()
{
    int a = 10;
    return a;
}
Run Code Online (Sandbox Code Playgroud)

第一种情况为函数中的变量赋值,然后返回该变量.

案例2:

int func()
{
    return 10;
}
Run Code Online (Sandbox Code Playgroud)

第二个函数只是直接返回值.

另外,哪一个更快?

Lun*_*din 8

这两个函数将导致相同的机器代码与任何半正式编译器.优化掉本地临时变量是编译器自20世纪80年代以来所能做的事情.

这就是为什么使用局部变量来提高复杂表达式的可读性是一个好主意.在你的情况下,局部变量只是多余的.