我想知道C++如何使用const关键字。
以下是一个函数定义。看起来相当不可思议,但实际上很好用。
const int const * const Get(){ return new int(1); } const
我知道const的每个放置位置的含义,但这个问题不是关于const关键字放置的含义。
我对const关键字的使用感到相当困惑,因为你可以重复使用它们。
const int const const * const Get(){ return new int(1); } const
// or even
const const int const const * const const Get(){ return new int(1); } const const
// or even yet
const const const int const const const * const const const Get(){ return new int(1); } const const const
为什么编程语言允许你这样做?
编辑: 此代码可在Visual Studio 2013、Visual C++编译器中编译。我不确定编译器的实际名称。
编辑2: 答案是这违反了标准。只有在不使用 /Za选项的情况下,代码才能编译。
我投票关闭问题。
const
仅会产生警告。因此,可能存在两个问题:(1) 当你进行测试时,你没有提高警告级别;(2)当你在这里发布代码时,添加的最后一个const
并未被编译。 - Cheers and hth. - Alf