【发布时间】:2013-10-07 06:27:29
【问题描述】:
stackoverflow 上有类似问题的一些答案,但所有答案都不完整或没有比较(有不同的例子)。我看到了至少 3 种可能的声明情况:
const void f();void f() const;const void f() const;
它们有什么区别?
我发现的唯一区别是以下代码仅适用于 (2) 或 (3):
const foobar fb;
fb.foo();
【问题讨论】:
-
void const f() volatile &&怎么样?还是volatile void f() & final? -
提示:永远不要声明返回类型
const(如1和3)。如果没有返回类型(如这里),那是没有意义的;基本无害,但对简单类型不是特别有用;但对更复杂的类型可能有害,因为它会阻止移动语义。 -
对不起,我写的“void”仅作为示例
标签: c++ methods comparison constants