【发布时间】:2016-04-28 13:33:41
【问题描述】:
例如:
int f1() {
return 3;
}
void f2(int *num) {
*num = 3;
}
int n1, n2;
n1 = f1();
f2(&n2);
使用 f1,我们可以返回一个值并执行“variable=f1()” 但是同样可以使用 void 函数来完成,该函数在给定地址的情况下更新该变量的值,而无需执行“variable=f1()”。
那么,这是否意味着我们实际上可以对所有事情都使用 void 函数?或者有什么是 void 函数无法替代另一个 int 函数/(类型)函数的?
【问题讨论】:
-
如果你在谈论你定义的功能,嗯,或多或少是的。你问来干什么 ?从技术上讲,您可以用汇编代码编写任何程序,但为什么要费心呢?
-
AFAIR
main函数需要返回int(尽管它是唯一不需要明确返回的函数)。一些库函数也返回值。您不必定义任何要返回的函数,尽管它迟早会导致一些灾难。 -
如果我们把操作符看作是一种特殊的函数然后不,它们不能是无效的。例如。如果
operator +没有返回右值,则该语言完全无法使用。 -
你可以。你也可以,写程序从不使用
-操作符,设计一个只有一条指令的CPU,写一部没有字母“e”的小说。这是不切实际的,但可以做到。 -
是的,但你不能再在表达式中使用它
sin(x)*tan(y)-log(z)*exp(t)...