本 Wiki 开启了 HTTPS。但由于同 IP 的 Blog 也开启了 HTTPS,因此本站必须要支持 SNI 的浏览器才能浏览。为了兼容一部分浏览器,本站保留了 HTTP 作为兼容。如果您的浏览器支持 SNI,请尽量通过 HTTPS 访问本站,谢谢!
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
cs:programming:cpp:cpp_primer:14_overloading [2024/01/14 13:46] – ↷ 页面programming:cpp:cpp_primer:14_overloading被移动至cs:programming:cpp:cpp_primer:14_overloading codinghare | cs:programming:cpp:cpp_primer:14_overloading [2024/11/13 12:31] (当前版本) – [箭头运算符返回值的限制] codinghare | ||
---|---|---|---|
行 18: | 行 18: | ||
C++ 支持重载的运算符如下图: | C++ 支持重载的运算符如下图: | ||
\\ \\ | \\ \\ | ||
- | {{ : | + | {{ cs: |
\\ \\ | \\ \\ | ||
有几点需要注意的是: | 有几点需要注意的是: | ||
行 351: | 行 351: | ||
* 如果得到的结果是一个**指针类对象**,该类对象也重载了箭头运算符,则接着使用当前的类对象继续调用对应的箭头运算符。 | * 如果得到的结果是一个**指针类对象**,该类对象也重载了箭头运算符,则接着使用当前的类对象继续调用对应的箭头运算符。 | ||
也就是说,可以将**指针类对象视作中间过程**。每使用一次该对象重载的箭头运算符,就会解引用指针对象,并访问当前类对象中的指针成员。得到的指针成员可以用于调用下一个类对象中的指针成员,或是最终的实体成员;而调用的过程也是通过箭头运算符的重载来实现的: | 也就是说,可以将**指针类对象视作中间过程**。每使用一次该对象重载的箭头运算符,就会解引用指针对象,并访问当前类对象中的指针成员。得到的指针成员可以用于调用下一个类对象中的指针成员,或是最终的实体成员;而调用的过程也是通过箭头运算符的重载来实现的: | ||
- | \\ \\ < | + | \\ \\ {{ :cs:programming:cpp:cpp_primer:arrow_overloading_1_.svg?600 |}} |
\\ | \\ | ||
这也解释了为了什么箭头运算符重载的返回值必须是**指针**的问题。 | 这也解释了为了什么箭头运算符重载的返回值必须是**指针**的问题。 | ||
行 446: | 行 446: | ||
标准库定义了一系列的函数对象,用于表示算术 / 关系 / 逻辑运算符。这些函数对象定义于 ''< | 标准库定义了一系列的函数对象,用于表示算术 / 关系 / 逻辑运算符。这些函数对象定义于 ''< | ||
\\ \\ | \\ \\ | ||
- | {{ : | + | {{ cs: |
\\ \\ | \\ \\ | ||
这些函数对象的特点是: | 这些函数对象的特点是: |