C++ "const void" 作为 Return 值比 "void" 更符合常量正确性吗?

C++ Is "const void" As Return Value More Const-Correct Than "void"?

在编程方面,我有点对 const-correctness 狂热。我到处都有常量(当然是正确的)。现在我什至开始构造我的 void return 类型。

您无法创建 void 对象,因此您无法为 void 对象赋值,无论它是否为 const,这意味着 "const" 变得多余。

那么我是不是在无意义地构造我的 void return 类型?

我希望这对 Stack Overflow 来说不是太哲学化。

长话短说:

const void Foo( void );

void Foo( void );

有区别吗?

不,const void完全没有意义。我很惊讶你的编译器实际上没有给你警告。例如,Clang 告诉我:

example.cpp:1:1: warning: 'const' type qualifier on return type has no effect
      [-Wignored-qualifiers]
const void Foo( void );
^~~~~~
1 warning generated.