这些代码有何不同?

时间:2011-04-26 08:45:32

标签: c++ optimization coding-style

我发现当我研究编程时,每本书都有不同的基本方法。

所以我想知道这两个代码是否不同,或者它们是否编译成相同的东西,哪一个会有什么好处呢?

if(a > b && b >c)
{}

if(a > b)
{
    if(b > c)
    {} 
}

4 个答案:

答案 0 :(得分:4)

它们具有相同的效果(程序将完全相同)并且它们可能会导致发出相同的机器代码。

第一个更短,第二个可能更方便在调试器中跳过(调试器逐行遍历代码)。

答案 1 :(得分:0)

if(a > b && b >c)
{}

if(a > b)
{
    if(b > c)
    {} 
}

他们是一样的....

答案 2 :(得分:0)

我认为第二个例子创建了一个额外的分支。

答案 3 :(得分:0)

他们在技术上是一样的。但是,如果您有相应的“else”语句,则第二种样式更清晰。最重要的是,不同的组具有不同的代码样式约定,您可能希望遵循您的团队正在使用的特定代码。

if(a > b && b >c)
{}
else if(a > b)
{}

if(a > b)
{
    if(b > c)
    {}
    else
    {}
}