+ -
当前位置:首页 → 问答吧 → 有没有人和俺一样常这么写代码的,为了写的短一点,感觉可读性变差了

有没有人和俺一样常这么写代码的,为了写的短一点,感觉可读性变差了

时间:2010-08-04

来源:互联网

  1. bool Plugin::CallFun(Plugin::ID id, Record& record){
  2.     if(id < Plugin::MAX_ID){
  3.         //如果某个插件处理完成(返回true),将跳过插件链后面的调用
  4.         if(find_if(funs[id].begin(), funs[id].end(),
  5.                 bind2nd(mem_fun(&PluginFun::operator()), record)) != funs[id].end()){
  6.             return true;
  7.         }
  8.     }
  9.     return false;
  10. }
复制代码

作者: zliming   发布时间: 2010-08-04

短,更短的是把花括号全去了

作者: daybreakcx   发布时间: 2010-08-04

?:

作者: prolj   发布时间: 2010-08-04

还行~

作者: efolzl   发布时间: 2010-08-04

回复 zliming


    有个明显的缺点,这么安排代码,缩进会很深

作者: beyond_touch   发布时间: 2010-08-04

偶写得更短,因为用boost::bind

作者: fallening   发布时间: 2010-08-04

  1. bool Plugin::CallFun(Plugin::ID id, Record& record){
  2.     if(id >= Plugin::MAX_ID){
  3.         return false;
  4.     }

  5.     //如果某个插件处理完成(返回true),将跳过插件链后面的调用
  6.     if(find_if(funs[id].begin(), funs[id].end(), bind2nd(mem_fun(&PluginFun::operator()), record)) == funs[id].end()){
  7.         return false;
  8.     }

  9.     return true;
  10. }
复制代码

作者: flw   发布时间: 2010-08-04

我经常是为了追求更快,导致读不懂
短倒未必

作者: gcd0318   发布时间: 2010-08-04

说的算组合一堆 stl 的容器和算法函数。搞的怪里怪气的
find_if(funs[id].begin(), funs[id].end(), bind2nd(mem_fun(&luginFun:perator()), record)) == funs[id].end()

作者: zliming   发布时间: 2010-08-04

  1. bool Plugin::CallFun(Plugin::ID id, Record& record){
  2.     if( (id < Plugin::MAX_ID) || (find_if(funs[id].begin(), funs[id].end(),
  3.                 bind2nd(mem_fun(&PluginFun::operator()), record)) != funs[id].end()) ){
  4.         //如果某个插件处理完成(返回将跳过插件链后面的调用
  5.             return true;
  6.     }
  7.     return false;
  8. }
复制代码

作者: jimmyixy   发布时间: 2010-08-04

相关阅读 更多

热门下载

更多