【发布时间】:2015-04-26 17:41:27
【问题描述】:
在编程方面,我已经变得有点狂热。我到处都有 const(当然是正确的)。现在我什至开始 const'ing 我的 void 返回类型。
你不能创建一个 void 对象,因此你不能给一个 void 对象赋值,即使它是 const 与否,这意味着“const”变得多余。
那么,我是在无谓地构造我的 void 返回类型吗?
我希望这对于 Stack Overflow 来说不是太哲学化。
TL;DR:
const void Foo( void );
对
void Foo( void );
有什么不同吗?
【问题讨论】:
-
不,返回
const void没有意义,因为返回 void 表示什么都不返回。 -
当你快要疯狂的时候,为什么不这样做
const void const Foo( const void const ); -
虽然 VC++ 不会对返回
const void发出警告,但会警告将const void作为参数。 -
实际上在 C++11 中返回 const 值是一个非常糟糕的主意,而不仅仅是 void。