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