gpt4 book ai didi

c++ - C++ 中的运算符重载 ( & -> )

转载 作者:太空狗 更新时间:2023-10-29 19:42:24 25 4
gpt4 key购买 nike

我有一些关于 C++ 中运算符重载的基本问题。

我正在阅读“Thinking in C++,第 1 卷”,它说不能重载的运算符是成员选择运算符。 , 成员取消引用运算符 * 。所以看起来其他运算符可以重载

我可以重载 & 运算符吗?但是,如果我将其实现为前缀运算符,或者它会隐藏其默认含义,这不会混淆编译器吗?

在引用公共(public)成员的代码中,我做了一些事情,比如 ptr -> data_member

我知道编译器会处理它并将此引用与数据成员绑定(bind),因此这在运行时根本看不到,并且 -> 不会作为运行时运算符出现。这种理解是否正确?

顺便说一句,虚拟概念只存在于成员函数中,而不存在于数据成员中,对吧?那么在运行时如果一个 Base 指针指向 Derived 类,我不能从这个指针访问 Derived 类的成员?

我可以重载 -> 运算符吗?但是,如果我将它重载为前缀运算符,这不会混淆编译器吗

如果问题表述不当,请告诉我。

编译器等是否为每个类内置了一些运算符重载

最佳答案

重载运算符 -> 非常有用,尤其是在创建智能指针类时。

关于c++ - C++ 中的运算符重载 ( & -> ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6749983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com