C ++语法和代码中的差异

时间:2016-12-24 14:25:27

标签: c++

我试图在一个游戏中“修复”一个问题,有.cpp文件和两个版本,也许我找到了包。这2个代码示例有什么不同之处:

示例#1

    // not supposed to do anything while evocate
    if (m_creature->HasAura(SPELL_EVOCATION))
    {
        return;
    }

示例#2

// not supposed to do anything while evocate
if (m_creature->HasAura(SPELL_EVOCATION))
    return;

也许这是一个愚蠢的问题,我不是C ++开发人员,只知道python而且我是新手。那么这段代码的逻辑差异是什么呢?非常感谢。

3 个答案:

答案 0 :(得分:2)

没有区别。它们是等价的。 当if的正文中只有一个语句时,您可以省略大括号。

答案 1 :(得分:0)

他们是一样的。

如果您未在if-statement之后添加大括号,则只会将下一行视为if-statement的一部分。

如果要在if-statement中包含多行代码,请使用大括号。如果您只想在if-statement中包含一行代码,则可以在第二段代码段中执行此操作,而无需使用大括号。

答案 2 :(得分:0)

运行代码没有任何差异,您将获得相同的故障。但你在评论中的第二个问题并不是特定的。您可以提出第二个问题,其中包含有关您的问题的具体信息,或者您可以查看您的错误。 编辑:我没有真正理解这个问题,但如果你正在寻找两个版本的代码之间的差异。在您添加的第一个版本中:

struct boss_curator : public CreatureScript
{
    boss_curator() : CreatureScript("boss_curator") {}