快速了解一下c ++中的const

Oru*_*aru 2 c++ methods const return

我知道声明返回类型const的正确方法是写:

int foo() const;
Run Code Online (Sandbox Code Playgroud)

但在某些情况下,这对我不起作用,那么我可以使用:

const int foo();
Run Code Online (Sandbox Code Playgroud)

这些之间有什么区别,为什么我可以在所有情况下使用后者而不是第一个.

我不能使用第一个的例子是当我想返回在方法之外定义的bool数组时.

亲切的问候,

/马库斯

NPE*_*NPE 6

我知道声明返回类型const的正确方法是写:

int foo() const;
Run Code Online (Sandbox Code Playgroud)

你的理解是不正确的.以上所做的是声明foo()const成员函数.这与foo()返回类型没有任何关系.

有关更多信息,请参阅const成员函数的语义是什么?