我们得到了一个语义和语法正确的方法,如下所示:
const Foo & bar( const Bim & bam ) const;
我们应该解释三个 const 调用中的每一个的含义。我是 C++ 新手,不知道它们是什么意思。我(大致)理解,最后的 const 意味着该方法只能在 const 变量上调用,并承诺不会传播更改。但是,我不明白其他两个。如果我在最后一个错误,请纠正我。
请参阅下面的说明
(1)const Foo & bar( (2)const Bim & bam ) (3)const;
PS:如果你是个顽皮的男孩,3 有办法解决这个问题
我(大致)理解,最后的 const 意味着该方法只能在 const 变量上调用,并承诺不会传播更改。
对了一半。该函数可以在 const 或非 const 对象上调用,并承诺不修改对象的状态(非可变成员)或调用任何非 const 成员函数。调用非常量对象是可以的,但反之则不然。也就是说,如果尾随的 const 不存在,则无法在 const 对象上调用它。
-> For int func1() const; 当您在函数末尾指定常量时,这意味着此函数是只读的,您不能修改调用此函数的对象。-> 对于 func (const bim); 如您所知,函数参数中的常量不允许更改该特定对象。-> 而对于 const func2(); 表示此函数的返回类型是常量。