【发布时间】:2020-07-26 11:54:05
【问题描述】:
运算符 '&' 可用于以下两种方式 int a; scanf("%d",&a);
和printf("%d",1&2)。
但不同的行为(第一次作为地址运算符,第二次作为按位运算符)。
我知道 C 中不存在运算符重载。那么它是如何工作的?也为 c++ 突出显示。
【问题讨论】:
-
它的工作原理是在语言规范中被定义为一元和二元运算符
-
有许多个运算符,在不同的上下文中具有不同的含义。 C 在这里与 C++ 不同,因为
&“操作符”在 C++ 中的用途与在 C 中不同。更不用说 C++ 中不存在 C 中的运算符重载了。 -
那么在 C++ 中它们是否也分别为一元和二进制定义了?
-
非常感谢您的精彩解释。@Someprogrammerdude
-
感谢您的精彩解释。 @SamiKuhmonen
标签: c++ c operator-overloading bitwise-operators address-operator