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.
在编程方面,我有点对 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.