从函数返回哪种更正确的方法:
void function() {
// blah some code
}
OR
void function() {
// blah some code
return;
}
第二种方式的理由:
- 它更清楚地表达了开发者的意图。
- 它有助于在预编译时检测函数结束:
假设您有这样的场景 - 您有一堆函数,并且必须在这些函数的末尾注入一些代码。但由于某些原因,您不想/或无法修改如此大量的函数。对此你能做什么?Return
& macro
发挥作用,例如:
#include<stdio.h>
#define MAX_LINES 1000
#define XCAT(a,b) a##b
#define CAT(a,b) XCAT(a,b)
#define return returns[__LINE__] = 1;\
if (returns[__LINE__])\
{printf("End of function on %d line.\n",__LINE__);}\
int CAT(tmp,__LINE__); \
if ((CAT(tmp,__LINE__)=returns[__LINE__], returns[__LINE__] = 0, CAT(tmp,__LINE__)))\
return
static int returns[MAX_LINES];
void function1(void) {
return;
}
void function2(void) {
return;
}
int main()
{
function1();
function2();
return 0;
}
两者都不是更正确的,所以请选择。空的return;
提供声明以允许return in a void
从末端以外的其他地方运行。我相信没有其他原因。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)