c++ - 返回带有 void 的函数的设计含义

标签 c++

考虑以下 bar 函数

#include <iostream>

void foo(){
    std::cout << "Hello" << std::endl;
}
void bar1(){
    return foo();
}
void bar2(){
    foo();
}
void bar3(){
    foo();
    return;
}
int main()
{
    bar1();
    bar2();
    bar3();
    return 1;
}

这些函数做完全相同的事情,实际上 godbolt 为所有三个函数生成相同的代码(正如人们所希望的那样)。我的问题很简单,是否有任何软件工程范例/指南提倡一种形式而不是另一种形式,以及是否有任何理由使您更喜欢其中一种形式。它们似乎生成相同的机器代码,但我想象其中一个可能被视为“更易于维护”或类似的东西。

最佳答案

这是非常基于意见的。虽然我会说普遍的共识是像 bar2() 那样编写它。不要显式return,除非你必须提前返回,如果func()返回一个,不要执行return func() void,这只会让读者感到困惑,因为您实际上并没有返回值。

关于c++ - 返回带有 void 的函数的设计含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55609060/

相关文章:

c++ - 包含迭代器到 vector 的无序映射 - 迭代器不可取消引用 C++

c++ - 集合中的二维整数坐标吗?

c++ - C++ 中的子字符串

c++ - 以编程方式确定网卡在 Windows 上是集成的还是独立的

C++创建没有默认构造函数的对象数组

c++ - 这个功能声明得好吗?

c# - 如何在 Windows 10 C# 通用应用程序中使用 C++ 类?

c++ - 柯南包 : Getting compiled files from other Conan-Packages

c++ - 如何在编译时更改类继承的内容?

c++ - DirectX11 获取设备的交换链