Lei*_*sen 6 c c++ operator-overloading operators
在C++中,我可以通过执行以下操作来更改特定类的运算符:
MyClass::operator==/*Or some other operator such as =, >, etc.*/(Const MyClass rhs) {
/* Do Stuff*/;
}
Run Code Online (Sandbox Code Playgroud)
但是由于C中没有类(默认内置),所以,我怎样才能对一般函数进行运算符重载?
例如,如果我没记错的话,导入stdlib.h会给你 - >运算符,它只是(*strcut_name).struct_element的语法糖.
那么我怎么能在C中做到这一点?
谢谢.
Mar*_*off 15
普通旧C没有任何形式的运算符重载.->
访问指针成员的"运算符"是标准C,并不由任何头文件引入.
C语言中的内置运算符被重载.您可以使用二进制+
求和整数,浮点数和执行指针运算这一事实是运算符重载的典型示例.
但是,C没有为用户级操作员重载提供任何功能.您无法在C中定义自己的运算符.