C++中void函数和非void函数之间的区别
Difference between void and non-void functions in C++
我有一个简单的问题
假设我在C++中有两个函数:
void DoSomething();
和
bool DoSomething();
这两个函数在内存或速度上有什么区别吗?
第二个问题,与第一个问题有关:我认为存在速度差,因为布尔必须返回一些值。但我根本不需要使用返回值。那么,我将DoSomething()声明为bool是否有好处,以防我决定在将来返回一些东西?
如果您的函数没有理由返回某个东西,那么它不应该返回任何东西,也就是说,它应该返回void
。给一个不会产生任何结果的函数一个人为的返回值是没有意义的。
如果函数有返回某些内容的原因,例如,因为它可能失败,那么它应该返回相应的结果。由于结果将是有意义的,所以它不会被忽略,也就是说,没有不返回值的优化潜力。
当返回大量对象时,事情确实变得有趣:潜在的复制可能代价高昂,而且在重用内存方面也有速度优势。然而,这些注意事项不适用于任何内置类型。
相关文章:
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- 在c++类上调用void函数
- 在派生函数中指定void*参数
- C++为什么尽管我调用了void函数,它却不起作用
- 如何从void函数输出字符串
- 为什么这个函数将"const char*"转换为"void* const"而不是"const void*"
- 将尾部调用void(i32,..)位转换为llvm::函数以获取FnAttribute
- 库函数需要一个 std::function<void(void)>,如何传入类函数?
- 如何将指针从一个void函数传递到另一个C++
- 为什么全局函数 void showA(A&x) 能够访问 A 类的私有成员?
- 如何将函数<void()>写入管道/套接字对?
- 错误:无法在没有对象的情况下调用成员函数'void Fortest::run()'|
- 标准的大小::函数<void(int&)>类型
- 如何函数<void(字符串消息)>绑定到成员函数?
- 函数void()返回一个值,而不是char或string
- 函数void QQuickWindow::setDefaultAlphaBuffer(bool useAlpha)的用途
- 错误 LNK2019:函数 "void __cdecl Padding(int)" 中引用未解析的外部符号___iob_func
- 我可以有一个~析构函数(void)吗?
- 函数<void(T)> 带有默认参数的参数
- 错误:参数太少,无法函数"void alpha(std::string*,student)"