显然,可以声明一个返回const void
的函数:
const void foo()
{
}
g++ 似乎认为 const
很重要,因为以下代码无法编译:
#include <type_traits>
static_assert(std::is_same<void(), const void()>::value, "const matters");
那么const void
有什么实际意义吗?
最佳答案
不是真的。但是忽略 void 上的 cv 限定或使其出错可能会在编译器实现和最终用户代码方面造成不必要的复杂性。考虑像
这样的模板 template<typename T>
const T ...
没有理由在这种情况下使用 void 成为一种特殊情况(比现在更多),它只会让人头疼。
此外,虽然 const void
没有帮助,但 const void*
也有其用处。
关于c++ - const void 有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5057987/