What & How & Why

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
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 codingharecs:programming:cpp:cpp_primer:14_overloading [2024/11/13 12:31] (当前版本) – [箭头运算符返回值的限制] codinghare
行 18: 行 18:
 C++ 支持重载的运算符如下图: C++ 支持重载的运算符如下图:
 \\ \\  \\ \\ 
-{{ :programming:cpp:cpp_primer:14tab01.jpg |}}+{{ cs:programming:cpp:cpp_primer:14tab01.jpg |}}
 \\ \\  \\ \\ 
 有几点需要注意的是: 有几点需要注意的是:
行 351: 行 351:
   * 如果得到的结果是一个**指针类对象**,该类对象也重载了箭头运算符,则接着使用当前的类对象继续调用对应的箭头运算符。   * 如果得到的结果是一个**指针类对象**,该类对象也重载了箭头运算符,则接着使用当前的类对象继续调用对应的箭头运算符。
 也就是说,可以将**指针类对象视作中间过程**。每使用一次该对象重载的箭头运算符,就会解引用指针对象,并访问当前类对象中的指针成员。得到的指针成员可以用于调用下一个类对象中的指针成员,或是最终的实体成员;而调用的过程也是通过箭头运算符的重载来实现的: 也就是说,可以将**指针类对象视作中间过程**。每使用一次该对象重载的箭头运算符,就会解引用指针对象,并访问当前类对象中的指针成员。得到的指针成员可以用于调用下一个类对象中的指针成员,或是最终的实体成员;而调用的过程也是通过箭头运算符的重载来实现的:
-\\ \\ <html><div align="center"> <img src="/_media/programming/cpp/cpp_primer/arrow_overloading_1_.svg width="600"> </div> </html>+\\ \\ {{ :cs:programming:cpp:cpp_primer:arrow_overloading_1_.svg?600 |}}
 \\  \\ 
 这也解释了为了什么箭头运算符重载的返回值必须是**指针**的问题。 这也解释了为了什么箭头运算符重载的返回值必须是**指针**的问题。
行 446: 行 446:
 标准库定义了一系列的函数对象,用于表示算术 / 关系 / 逻辑运算符。这些函数对象定义于 ''<functional>'' 头文件中: 标准库定义了一系列的函数对象,用于表示算术 / 关系 / 逻辑运算符。这些函数对象定义于 ''<functional>'' 头文件中:
 \\ \\  \\ \\ 
-{{ :programming:cpp:cpp_primer:14tab02.jpg |}}+{{ cs:programming:cpp:cpp_primer:14tab02.jpg |}}
 \\ \\  \\ \\ 
 这些函数对象的特点是: 这些函数对象的特点是: