免费注册 查看新帖 |

Chinaunix

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

又发现一个C和C++的小不同 [复制链接]

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
41 [报告]
发表于 2011-10-21 00:03 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
5
技术图书徽章
日期:2013-11-07 13:21:58技术图书徽章
日期:2013-12-07 10:34:46技术图书徽章
日期:2014-04-23 08:50:31双鱼座
日期:2014-09-16 09:12:34亥猪
日期:2015-01-23 13:37:49
42 [报告]
发表于 2011-10-21 00:04 |只看该作者
回复 16# OwnWaterloo


    对于策略,我们提供一种机制,但是策略(业务)最终由用户决定。

论坛徽章:
0
43 [报告]
发表于 2011-10-21 00:06 |只看该作者
本帖最后由 davelv 于 2011-10-21 00:10 编辑

回复 16# OwnWaterloo
不考虑多线程的话,可以用静态/全局变量去解决,这个最容易想到和解决,否则的话

  1. void sort(stduent s[], int n, int c)
  2. {
  3.         qsort(&(s->mark[c]), n, sizeof(s[0]),compare);
  4. }
复制代码
这样如何?

刚才写错了。。忘记student的内部构造

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
44 [报告]
发表于 2011-10-21 00:07 |只看该作者
回复 18# AD8018

貌似隐藏答案也没什么用了……

要最直接的,其实就是每门学科实现一个函数,原型int (*)(void const*, void const*),比较mark[i ] i在该函数中为常量。
但你也应该察觉到这里面的坏味道了。


而在支持closure的语言里,函数绑定局部变量是自然而然的事情,根本不需要纠结这个问题。
void sort(s, n, int c)
{
      qsort( ... function(x,y) { return x.mark[c] - y.mark[c] ; }
}


其实C也可以手工实现closure,只是代价(实现代价而非运行代价)很高,不一定值得这么做。
追根究底这是qsort设计失误造成的。


最终,其实是想表明: 不是研究C才算研究。
本来在你剧透之后还想出个coroutine的呢……  看来是没必要了……

论坛徽章:
0
45 [报告]
发表于 2011-10-21 00:07 |只看该作者
TMD这跟水平有个毛关系啊。你非得逼我说出物以类聚吗
pmerofc 发表于 2011-10-21 00:03



    连TMD都出来,你是被我抓过几个bug,憋急了吗?

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
46 [报告]
发表于 2011-10-21 00:09 |只看该作者
回复 36# pmerofc

我要真把他当作傻子就不会回他了。
他肯定是有长处的,术业有专攻而已……

论坛徽章:
0
47 [报告]
发表于 2011-10-21 00:11 |只看该作者
貌似43楼也不行呢,这样的话,student元素内部就乱掉了。。。

论坛徽章:
5
技术图书徽章
日期:2013-11-07 13:21:58技术图书徽章
日期:2013-12-07 10:34:46技术图书徽章
日期:2014-04-23 08:50:31双鱼座
日期:2014-09-16 09:12:34亥猪
日期:2015-01-23 13:37:49
48 [报告]
发表于 2011-10-21 00:15 |只看该作者
回复 44# OwnWaterloo


   
追根究底这是qsort设计失误造成的

qsort有啥设计失误?

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
49 [报告]
发表于 2011-10-21 00:16 |只看该作者
回复 48# nketc

你看davelv不正在挠头皮想写个compare函数出来么……
你试着写写看就知道问题了……

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
50 [报告]
发表于 2011-10-21 00:18 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP