免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: emacsnw
打印 上一主题 下一主题

本人写的一个完整C范型容器(纯MACRO实现)。 [复制链接]

论坛徽章:
0
41 [报告]
发表于 2006-05-28 13:25 |只看该作者

ugly macro

ugly macro

论坛徽章:
0
42 [报告]
发表于 2006-05-28 15:39 |只看该作者
原帖由 cpucooler 于 2006-5-27 21:25 发表
ugly macro


楼上的要么入门就是C++,对C了解不深;要么是高手,可能和BS一样,宏可以被取代。反正我不知道下面的这个很简单(也可能很实用)的宏如果换成C++的代码应该是怎样的?


  1. #define print_expr(expr) printf(#expr" = %.2f\n",expr);

  2. print_expr(3+6/1.2); /* outputs: 3+6/1.2 = 8.00 */

复制代码

论坛徽章:
0
43 [报告]
发表于 2006-05-28 16:22 |只看该作者
C很强大

论坛徽章:
0
44 [报告]
发表于 2006-05-28 20:46 |只看该作者
up

[ 本帖最后由 kongye2001 于 2006-5-28 20:49 编辑 ]

论坛徽章:
0
45 [报告]
发表于 2006-05-29 10:13 |只看该作者
惭愧
在下竟然不知道何为‘范型’。。。
究竟是个什么东东来的?

论坛徽章:
0
46 [报告]
发表于 2006-05-29 10:34 |只看该作者
要是多加一些注释就好了!

论坛徽章:
0
47 [报告]
发表于 2006-05-29 15:00 |只看该作者
这种形式的

  1. #define VEC_DECLARE(type)\
  2. struct _VEC_##type{\
  3.     int vsize,asize;\
  4.     type *x;\
  5. };\

  6. typedef struct _VEC_##type VEC_##type

  7. #define vec(type) VEC_##type
  8. #define vec2(type) VEC_VEC_##type
复制代码

最初是在csdn上看到有人这样写着玩的,大概近两年前吧,
不过真做成一个库并用的,阁下是第一个  ^___^

PS:哪天我也写来个玩玩,那样学数据结构就会省不少事儿了,呵呵

论坛徽章:
0
48 [报告]
发表于 2006-05-29 16:07 |只看该作者
原帖由 cpucooler 于 2006-5-28 13:25 发表
ugly macro

一窍不通

论坛徽章:
0
49 [报告]
发表于 2006-05-29 16:32 |只看该作者
佩服。。。。可惜平时不常用C。。。。不然真的是拣到宝了:)

论坛徽章:
0
50 [报告]
发表于 2006-05-29 19:37 |只看该作者
用C来做范型是逼不得已的解法,简单的函数指针也可以实现类似范型的东西,当然还有用范型+偏特化,效率更高
除了调试比较困难以外,还是比较不错地,比较考验编译器
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP