有点另类:如何用c实现运算符重载

bill_lasker 2005-10-18 10:06:58
由于要在嵌入式中使用,所以要用c,但就不知道如何实现,只好请教各位
...全文
1103 23 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
mymmsc 2005-10-23
  • 打赏
  • 举报
回复
可不可以用宏进行处理?
milozy1983 2005-10-22
  • 打赏
  • 举报
回复
呵呵 ,c中有类似重载的符号的 ,比如 * 号既可以作为乘号 ,在指针方面又有其它的用途
Wolf0403 2005-10-22
  • 打赏
  • 举报
回复
Syntax sugar 罢了,没有也正常。
csucdl 2005-10-22
  • 打赏
  • 举报
回复
马小虎?
chenhu_doc 2005-10-22
  • 打赏
  • 举报
回复
就是不推荐用c++
minrr 2005-10-22
  • 打赏
  • 举报
回复
en
v41dugu 2005-10-20
  • 打赏
  • 举报
回复
。。。觉得比较困难
rabbitweng 2005-10-20
  • 打赏
  • 举报
回复
符号重载其实我想是为了阅读方便,直观,其本质跟函数应该没有区别,所以在c中其实没有必要做这个重载的
晨星 2005-10-20
  • 打赏
  • 举报
回复
虽然我们经常说:“C++能做到的,C也能做到”,但这句话是从解决实际问题的角度来说的,而不是从语言语法的角度来说的。比如,C++能给字符串排序,C当然也能;但C++可以通过范型编程实现字符串排序,C就不可以。
晨星 2005-10-20
  • 打赏
  • 举报
回复
不支持就是不支持。
yuchengliu 2005-10-20
  • 打赏
  • 举报
回复
C不可以重载的。
Zark 2005-10-20
  • 打赏
  • 举报
回复
运算符重载实际上并没有增加什么功能,而是使代码的可读性提高了.例如,

class MyClass;

MyClass a,b,c;
c=a*b
这里的*是重载的运算符,但它和
c=MyClassMultiply(a,b)
的效果是一样的.

正是因为"c是系统级的开发工具",所以C在设计时,考虑的是"最小原则",即能不支持,则不支持.因此在设计理念上就不支持这个另类,更何况运算符重载对类才有意义,而类不是C概念范围内的东西.


junnyfeng 2005-10-19
  • 打赏
  • 举报
回复

很简单,用c++
bill_lasker 2005-10-19
  • 打赏
  • 举报
回复
我也不知道,一朋友问到,想想c是系统级的开发工具,应该可以做到吧
goodluckyxl 2005-10-19
  • 打赏
  • 举报
回复
嵌入的编译器本身不咋样
搞那么多花样干吗
qfeng_zhao 2005-10-19
  • 打赏
  • 举报
回复
强人
设计出来了大家分享一下
jsjjms 2005-10-19
  • 打赏
  • 举报
回复
偶以前也试写过(也是在受限系统里),没有成功.
如果自己附加写一个编译器,就
觉得不划算了。

听高人分析吧....

fujingn188 2005-10-18
  • 打赏
  • 举报
回复
NND 接分
doway 2005-10-18
  • 打赏
  • 举报
回复
自己写个 C 编译器扩展,最早的 C++ 好像就是这么干的,叫带类的 C。

估计超难。:)
xiaocai0001 2005-10-18
  • 打赏
  • 举报
回复
自定义一个实现该运算符的函数不可以解决问题么?
加载更多回复(3)

70,028

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧