C++ 大括号
C++ curly brackets
我想知道我在互联网上看到的一些代码。我确实尝试 google 等,但我没有找到回答我问题的解释。
这是我编写的示例。
bool exe()
{
int ret = Geterror();//if error it returns something bigger than 0
if (ret != 0)
return false;
ret = Geterror();//if error it returns something bigger than 0
if (ret != 0)
return false;
return true;
}
1) 我的第一个问题是使用
有什么不同
if (ret != 0)
return false;
和
if (ret != 0)
{
return false;
}
2) 我不知道我的想法是否正确,但是如果 ret 大于 1,if(ret != 0) 之后的那一行是唯一去 运行 的那一行吗?还是与位置或间距有关? Sins ret = Geterror();将 运行 如果 ret 为 0.
回答你的第一个问题。通过在一行中执行 if 语句,您只能进行一次操作,可以这么说。
if(ret != 0) return false;
在使用大括号时,您是在声明一个包含代码操作的块。
if(ret != 0) {
/* do other stuff here */
return false;
}
使用单行语句和块语句之间没有实际区别。
关于你的第二个问题,请参考我的第一行代码
if(ret != 0)
return false;
相当于;
if(ret != 0) return false;
语句用分号分隔,告诉编译器语句结束,中间的space无足轻重。
我想知道我在互联网上看到的一些代码。我确实尝试 google 等,但我没有找到回答我问题的解释。
这是我编写的示例。
bool exe()
{
int ret = Geterror();//if error it returns something bigger than 0
if (ret != 0)
return false;
ret = Geterror();//if error it returns something bigger than 0
if (ret != 0)
return false;
return true;
}
1) 我的第一个问题是使用
有什么不同if (ret != 0)
return false;
和
if (ret != 0)
{
return false;
}
2) 我不知道我的想法是否正确,但是如果 ret 大于 1,if(ret != 0) 之后的那一行是唯一去 运行 的那一行吗?还是与位置或间距有关? Sins ret = Geterror();将 运行 如果 ret 为 0.
回答你的第一个问题。通过在一行中执行 if 语句,您只能进行一次操作,可以这么说。
if(ret != 0) return false;
在使用大括号时,您是在声明一个包含代码操作的块。
if(ret != 0) {
/* do other stuff here */
return false;
}
使用单行语句和块语句之间没有实际区别。
关于你的第二个问题,请参考我的第一行代码
if(ret != 0)
return false;
相当于;
if(ret != 0) return false;
语句用分号分隔,告诉编译器语句结束,中间的space无足轻重。