为什么要在void上使用int函数?

凯文

我正在查看一些示例函数和方法(我目前在C ++类中),并且我注意到有一些函数不是虚空的,而是类似

int myFunction() {
   // ...;
   return 0;
}

省略号显然是其他陈述。他们为什么返回零?每次运行函数时返回特定值有什么意义?

我知道main()必须是int的(至少根据标准),因为它与退出代码相关(或与?)有关,因此可以与操作系统一起使用。但是,我想不出非主要功能会这样做的原因。

有什么特别的原因导致有人想要这样做,而不是简单地执行void函数?

基思·汤普森(Keith Thompson)

有一个通用的约定,即int函数返回0表示成功,返回一些非零错误代码表示失败。

如果int单独查看,总是返回0函数也可能是一个void函数但是根据上下文,可能有充分的理由使其与返回有意义结果的其他函数兼容。这可能意味着该函数的返回类型如果随后进行了修改,因此它可以检测到错误,则不必更改它;或者,如果将其声明用作回调或模板,则其声明必须与其他返回函数兼容。争论。int

我建议检查库或程序中的其他类似功能。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么要在 WriteProcessMemory() 函数的第二个参数中使用 (void*)?

来自分类Java

为什么要在堆栈上使用Deque?

来自分类Dev

为什么要在pbuilder上使用sbuild?

来自分类Dev

为什么要在memset上使用bzero?

来自分类Dev

为什么要在Dict上使用HashDict?

来自分类Dev

为什么std :: map emplace需要在gcc上使用复制构造函数?

来自分类Java

为什么要在布尔和类似的不可变类上使用公共构造函数?

来自分类Dev

为什么要在函数体内使用函数声明

来自分类Dev

什么是gvfs,为什么要在我的系统上使用它?

来自分类Dev

为什么函数brk()的参数为void *而不是int类型?

来自分类Dev

为什么要在方法前添加void?

来自分类Dev

为什么要在python中使用`iter`函数

来自分类Javascript

为什么要在javascript中的每个函数之后使用分号?

来自分类Dev

为什么要在构造函数上使用constexpr?

来自分类Dev

为什么要在C中使用静态函数?

来自分类Dev

为什么要在ThreadLocal上使用数据插槽?

来自分类Java

为什么要在Java / Spring上使用Scala / Lift?

来自分类Javascript

为什么要在object.freeze上使用immutablejs?

来自分类Dev

为什么要在 [Align] 对齐上使用 [Expanded] / [Flexible] flex?

来自分类Dev

sudoedit:为什么要在sudo vi上使用它?

来自分类Dev

为什么要在诸如Postgres的RDBMS上使用Parquet

来自分类Dev

为什么要在结构上使用&符号?

来自分类Python

为什么要在easy_install上使用pip?

来自分类Dev

为什么要在多个 if 语句上使用 elif 和 else?

来自分类Python

为什么要在Google App Engine上使用Django?

来自分类Dev

为什么要在冻结的对象上使用Object#clone?

来自分类Dev

为什么我要在StatefulWidget上使用StatelessWidget?

来自分类Dev

为什么要在Keras上使用纯TensorFlow?

来自分类Dev

为什么要在FreeBSD内核上使用Debian 6?

Related 相关文章

  1. 1

    为什么要在 WriteProcessMemory() 函数的第二个参数中使用 (void*)?

  2. 2

    为什么要在堆栈上使用Deque?

  3. 3

    为什么要在pbuilder上使用sbuild?

  4. 4

    为什么要在memset上使用bzero?

  5. 5

    为什么要在Dict上使用HashDict?

  6. 6

    为什么std :: map emplace需要在gcc上使用复制构造函数?

  7. 7

    为什么要在布尔和类似的不可变类上使用公共构造函数?

  8. 8

    为什么要在函数体内使用函数声明

  9. 9

    什么是gvfs,为什么要在我的系统上使用它?

  10. 10

    为什么函数brk()的参数为void *而不是int类型?

  11. 11

    为什么要在方法前添加void?

  12. 12

    为什么要在python中使用`iter`函数

  13. 13

    为什么要在javascript中的每个函数之后使用分号?

  14. 14

    为什么要在构造函数上使用constexpr?

  15. 15

    为什么要在C中使用静态函数?

  16. 16

    为什么要在ThreadLocal上使用数据插槽?

  17. 17

    为什么要在Java / Spring上使用Scala / Lift?

  18. 18

    为什么要在object.freeze上使用immutablejs?

  19. 19

    为什么要在 [Align] 对齐上使用 [Expanded] / [Flexible] flex?

  20. 20

    sudoedit:为什么要在sudo vi上使用它?

  21. 21

    为什么要在诸如Postgres的RDBMS上使用Parquet

  22. 22

    为什么要在结构上使用&符号?

  23. 23

    为什么要在easy_install上使用pip?

  24. 24

    为什么要在多个 if 语句上使用 elif 和 else?

  25. 25

    为什么要在Google App Engine上使用Django?

  26. 26

    为什么要在冻结的对象上使用Object#clone?

  27. 27

    为什么我要在StatefulWidget上使用StatelessWidget?

  28. 28

    为什么要在Keras上使用纯TensorFlow?

  29. 29

    为什么要在FreeBSD内核上使用Debian 6?

热门标签

归档