免费注册 查看新帖 |

Chinaunix

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

[C] [C实现]条件表达式的执行顺序是固定的吗? [复制链接]

论坛徽章:
0
1 [报告]
发表于 2012-09-29 16:05 |显示全部楼层
别吵了, 我插一句
本菜就一学生狗, 不懂项目
好久以前也不懂标准 更不懂 ub 云云
但这不能阻挡我刷题
于是有一天 写了个splay, 然后摸索着把代码压到了不能看

  1. inline void rotate(bool b) {
  2.         f->pass(); pass();
  3.         c[!b] = (f->c[b]=c[!b])->f = f;
  4.         c[!b]->f = (f=f->f)->c[c[!b]==f->c[1]] = this;
  5.         c[!b]->update();
  6. }
复制代码
但从未出bug, 于是就这么一直写着
等到知道有问题了, 也好久不写了.

总之, 在知道有问题时, 这种东西是绝对不能写的
但不得不面对时, 总得应对是吧.

比如, 不告诉你这是splay的rotate, 不试鬼能知道这写了些毛 ..
        c[!b]->f = (f=f->f)->c[c[!b]==f->c[1]] = this;
......

论坛徽章:
0
2 [报告]
发表于 2012-09-29 16:32 |显示全部楼层
本帖最后由 hbmhalley 于 2012-09-29 16:33 编辑

回复 212# OwnWaterloo


    我觉得它表达偏了(++i=i++ 什么的更是越抹越黑), 但由于有一天我要用spaly又懒得写,于是翻出尘封的代码 于是 .. 于是就想砍死以前的自己 -- 所以稍微理解他想说什么
    大概就是 用了?: 晦涩 的代码是不推荐写的, 但看不懂不说明什么
    即 (不懂((用 ?:)and(晦涩)))=X=>(看的人水平次)
    不是 (用 ?:)=>(晦涩)=>(写的人水平次)

    由于他不是(至少不像)个学者, 因此不关注 晦涩 与 错误 的区别
    但审判是考官的权力, 管理者没有(至少他不承认自己有= =), 所以才抓住一段不仅ub而且屎一样(- -)的代码一顿狂黑 ...

    所以问题一开始就不是这屎代码对不对
    两种人 两个世界 两个理解
 匿了吧 ..

论坛徽章:
0
3 [报告]
发表于 2012-09-29 16:43 |显示全部楼层
回复 213# wwwsq


    但拿有硬伤的代码说事毕竟不妥 ..

论坛徽章:
0
4 [报告]
发表于 2012-09-29 16:53 |显示全部楼层
回复 234# OwnWaterloo


    ...所以说匿了吧 .. 看客都懂 .. 一个长者有兴致泡论坛已经不容易了 →_→
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP