调用函数时为什么要在函数名前加“(void)”
来源:互联网 发布:淘宝打电话需要理他吗 编辑:程序博客网 时间:2024/06/05 23:08
我们知道,在定义函数时,加在函数名前的“void”表示该函数没有返回值。但在调用时,在函数名前加“(void)”的作用又是什么呢?
最明显的一点就是表示程序并不关心调用该函数后的返回值是什么,比如函数strcpy,我们直接用“strcpy(des_str, src_str);”这样的形式来调用。“(void)strcpy(des_str, src_str);”这样的形式还真不多见!
原因是这种写法不针对人,也不针对编译器,而是针对静态代码检测工具,它会把函数返回值作为一项检测标准。在某些大公司,比较重视代码规范,若在代码静态检测时需要检测该项。此时就需要用在被调用的函数(名)前加上“(void)”这种形式来告诉静态代码检测工具程序并非没有处理该函数的返回值,而是该处确实不需要处理它(该函数的返回值),不需要再对该处代码作此项检测。其实这和我们在代码中使用“#pragma warning (disable: XXXX)”的道理是一样的。
0 0
- 调用函数时为什么要在函数名前加“(void)”
- 调用函数时前面为什么要加(void)
- 为什么不要在构造函数中调用虚函数
- 为什么不要在构造函数中调用虚函数
- 为什么不要在构造函数中调用虚函数
- 为什么不要在构造函数中调用虚函数
- 为什么不要在构造函数中调用虚函数
- 为什么不要在构造函数中调用虚函数
- 为什么不要在构造函数中调用虚函数
- 为什么不要在构造函数中调用虚函数
- 在C++中调用C编译器编译过的函数时,为什么要使用"extern C"?
- C#调用非托管函数参数为Void* 时,方法
- 为什么在函数的声明后面还有一个 const? 如:void fun() const;
- 为什么在函数的声明后面还有一个 const? 如:void fun() const;
- 为什么在函数的声明后面还有一个 const? 如:void fun() const;
- 为什么在函数的声明后面还有一个 const? 如:void fun() const;
- JAVA一个类有两个构造函数,当在一个构造函数中调用另外一个构造函数时为什么要用this.()而不能用类名.()
- 为什么不能在构造函数中调用shared_from_this
- C# firebird嵌入式断开连接无法删除文件
- JS 异常之 missing ) after argument list 错误释疑
- No result defined for action and result input
- Hibernate 性能优化_转载
- Ladder (单调栈)
- 调用函数时为什么要在函数名前加“(void)”
- 十大排序算法
- 读《程序员自我修养》 总结
- Canvas容器绘制直线
- 关于使用“Hadoop free”版本的Spark
- JavaScript笔记3--封装JS对象
- 好久没更新博客了
- 第九章 字典
- sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath