C++11 理解如何理解c+的“const”性质+;代码 在我尝试自学C++的过程中,我希望能在阅读一个表达式/函数的正确性方面得到一些帮助。例如,下面的代码: const screen &display(std::ostream &output) const { do_display(output); return *this; }

C++11 理解如何理解c+的“const”性质+;代码 在我尝试自学C++的过程中,我希望能在阅读一个表达式/函数的正确性方面得到一些帮助。例如,下面的代码: const screen &display(std::ostream &output) const { do_display(output); return *this; },c++11,constants,C++11,Constants,在上述代码中。函数display中有两个const声明。在“英语”中如何正确理解?示例:第一个const是要引用的const或要键入屏幕的const?等等,const-ness在引用为const时的确切含义是什么。我已经试着读过了,但在这一点上仍然有点混乱 请随意指向youtube视频或其他参考资料。希望材料非常清楚。在英语中它的意思是: display()是其类的常量方法(这是第二个const关键字),它将对std::ostream类实例的引用作为其参数,并返回对screen类的常量(这是第一

在上述代码中。函数
display
中有两个
const
声明。在“英语”中如何正确理解?示例:第一个
const
是要引用的
const
或要键入
屏幕的
const
?等等,
const
-ness在引用为const时的确切含义是什么。我已经试着读过了,但在这一点上仍然有点混乱

请随意指向youtube视频或其他参考资料。希望材料非常清楚。

在英语中它的意思是:

display()
是其类的常量方法(这是第二个
const
关键字),它将对
std::ostream
类实例的引用作为其参数,并返回对
screen
类的常量(这是第一个
const
关键字)实例的引用

const
引用表示此引用不能用于修改被引用的对象。您只能使用引用来访问类的成员,而不能更改这些成员,或者调用类的
const
方法(比如
display
()是它自己的类的
const
方法)。

在英语中,它的意思是:

display()
是其类的常量方法(这是第二个
const
关键字),它将对
std::ostream
类实例的引用作为其参数,并返回对
screen
类的常量(这是第一个
const
关键字)实例的引用


const
引用表示此引用不能用于修改被引用的对象。您只能使用引用来访问而不能更改类的成员,或者调用类的
const
方法(比如
display
()是它自己的类的
const
方法)。

我一直发现记住它的最简单方法是:

const
适用于它左边的任何东西,除非它左边没有任何东西,在这种情况下,它适用于它右边的任何东西

因此,您有一个返回对
屏幕的
const
引用的


const
引用意味着您不能修改引用的对象。
const
方法意味着该方法不会修改它被调用的对象(该方法中的
这个
指针将指向一个
const
对象)。

我一直发现记住它的最简单方法是:

const
适用于它左边的任何东西,除非它左边没有任何东西,在这种情况下,它适用于它右边的任何东西

因此,您有一个返回对
屏幕的
const
引用的

const
引用意味着您不能修改引用的对象。
const
方法意味着该方法不会修改它正在被调用的对象(该方法中的
这个
指针将指向一个
const
对象)。

从右到左读取它。 您有一个constant方法,该方法返回对屏幕的引用,该屏幕是常量

返回常量引用意味着您无法修改返回的内容。 如果调用该方法并将其分配给某个变量,则该变量必须使用const关键字。唯一的例外是,如果将方法返回的引用强制转换为非常量的引用

关于从右向左规则的更多细节,这里有一个有用的链接:

这实际上是由UCSD的一位教授写的(他写得很好)

方法右侧的const表示不能修改函数中的任何实例变量(大部分情况下)。还有更多内容,但有关更多详细信息,请参阅: 从右到左阅读。 您有一个constant方法,该方法返回对屏幕的引用,该屏幕是常量

返回常量引用意味着您无法修改返回的内容。 如果调用该方法并将其分配给某个变量,则该变量必须使用const关键字。唯一的例外是,如果将方法返回的引用强制转换为非常量的引用

关于从右向左规则的更多细节,这里有一个有用的链接:

这实际上是由UCSD的一位教授写的(他写得很好)

方法右侧的const表示不能修改函数中的任何实例变量(大部分情况下)。还有更多内容,但有关更多详细信息,请参阅: 从右到左阅读

int const & foo() const 引用一个

int const & foo() const int常量&foo()常量
const int

const
可以位于
int
的任意一侧。您可以将其读取为“常量整数”或“常量整数”。

从右向左读取

int const & foo() const 引用一个

int const & foo() const int常量&foo()常量
const int

const
可以位于
int
的任意一侧。您可以将其读取为“常量整数”或“常量整数”