这个成员函数声明中的const是什么意思?

Bus*_*sch 1 c++ constants

我们得到了一个语义和语法上正确的方法,如下所示:

const Foo & bar( const Bim & bam ) const;
Run Code Online (Sandbox Code Playgroud)

我们应该解释这三个 const 调用的含义。我是 C++ 新手,不知道它们的意思。我(粗略地)理解最后的 const 意味着该方法只能在 const 变量上调用,并且承诺不会传播更改。不过,我不明白另外两个。如果我最后一篇有错,请纠正我。

Ed *_*eal 5

请参阅下面的解释

(1)const Foo & bar( (2)const Bim & bam ) (3)const;
Run Code Online (Sandbox Code Playgroud)
  1. 该方法返回不可变的 Foo 类型的引用。
  2. Bim 类型的方法参数不会被该方法修改。这意味着您可以向此方法传递 const 和非常量对象。无论哪种方式,该方法都不会修改该对象,或者只能调用该对象上的 const 方法。
  3. 这意味着该方法不会以任何方式改变对象。

PS:对于 3 人来说,如果你是一个顽皮的男孩,有办法解决这个问题