如何解决有没有办法在同一行中调用 void 并返回?
我正在开展一个项目,其具体目标是尽量减少我的代码行数,我想知道各位大师是否对此有所了解!
我有一个函数必须返回一个void*,它的最后一行调用一个void函数然后返回0,就像这样:
void void_function(){
//foo
}
void* my_function(){
...
void_function();
return 0;
}
在同一行中调用 void_function
并返回 0(或任何其他值)是否有某种偷偷摸摸的方法?我尝试过的所有方法都抛出了错误,因为 C 似乎真的不想让我弄乱 void 函数。
编辑: 澄清一下,这里的目标是最少总行数,其中一行被定义为分号。显然这不是生产代码,只是为了好玩!
解决方法
总有逗号运算符,尽管它不会使代码更具可读性
return void_function(),0;
,
好吧,你总是可以(ab)使用预处理器宏:
#define CALL_AND_RETURN(x) {x; return 0;}
[...]
CALL_AND_RETURN(void_function());
不过,我认为这不是一个好主意,因为它不会给您带来太多好处,而且会使其他人更难理解您的代码。
,创建一个调用 void_function() 并返回 0 的 lambda,然后您可以从 my_function() 返回调用的 lambda。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。