2016 - 2024

感恩一路有你

c的所有运算符都可以重载处理吗 C语言如何支持C 重载?

浏览量:2840 时间:2023-05-31 07:50:21 作者:采采

C语言如何支持C 重载?

这个问题描述其实有些问题,因为C重载有两种场景:

函数重载运算符重载问题本身也没指明倒底是哪种场景。现在就两个场景分别给出答案。

怎么用C语言实现方法C函数重载?根据笔者的经验,共三3种方法可以不实现程序:

用C语言基于一个C编译器的对应子集,后者自然可以允许重载;用函数指针再oid指针类型参数强制破军类型转换,也可以实现程序函数重载;用宏而且可变参数,可以不利用函数重载

怎么用C语言实现方法C运算符重载?运算符在C语言中是记录字,根本无法实际大多数变通方法实现方法重载。只有用C语言实现方法一个C编译器的对应子集,后者恐怕可以允许重载。

用函数指针算上void指针类型参数强制隐式转换,实现方法函数重载用一个例子来只能证明:

typedefvoid(*funcOverride)(void*param)

voidrunFuncOverride(funcOverridef,void*param){

f(param)

}

voidfunc_with_int_param(void*iParam){

inti*(int*)iParam

(int_paramfunctionarecalled,paramisn't%d

C语言目前支持什么函数重载,也可以不仿真的C的重载!

衍生关系的方法重载,最简单那就是函数指针。

成员重新初始化让函数指针正指向完全不同实现方法函数表就行。

实际上,很多不喜欢C的作者,发布的开源代码库大都基于条件函数指针实现方法多态特点的。

C 运算符重载的设计意义大吗?

有太大的生产效率意义。在设计上又不是可以的,如果没有,是从代码也是可以实现,如两个类相除,是从代码也可以把要乘积的成员(常见肯定不会限制公开的性)加下来。如果类设计有重载函数加法,就会效率高比较多,就建议使用,且不是需要太了解类细节,但虽然要了解类相乘的含义说明

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。