2012年(158)
分类: C/C++
2012-11-15 11:04:14
网友评论2012-11-15 11:13:17
颜学铭
楼主确实善于思考问题,值得学习。
虽然有很多书籍不赞成写过于复杂的表达式,认为这是奇巧淫技。特别是在具有side-effect(表达式附加效果)影响的情况下有时甚至给理解造成一定困难。但往往很多公司在招聘面试试题当中却喜欢考核程序员对这类问题的掌握情况。因此多思、多想、多用未必是坏事。对于奇巧淫技的掌握有时往往能够开启你对程序真谛的思考之门。boss们通常喜欢你写规范程序的程序,那是因为这样不容易出错。这样的程序员是boss们眼中的好同志也是很多职业教育培养的目标,但对你的成长未必就是好事。
另外,在公司团队中未必需要写出任何人都看得懂,任何人都可以修改的程序。术业有专攻,技术有高下,你是否看得懂STL,boost的源代码,难道说公司有人看不懂模板,你就不用模板,即使你觉得模板很有用。
网友评论2012-11-15 11:13:02
wm
if( !rs.IsBOF() )
{
for( rs.MoveFirst(); !rs.IsEOF(); rs.MoveNext() )
{
......
}
}
要想等同于:
for( rs.IsBOF() || rs.MoveFirst(); !rs.IsEOF(); rs.MoveNext() )
{
......
}
重要前提是,一个dataset 在OPEN之后,如果 “rs.IsBof()” 为真,那么此时(仅当此时) "rs.IsEof()"
肯定也为真。。。。仅单纯从表达式上来推,前面几位C++学得不错的人
网友评论2012-11-15 11:12:07
tianyu
if( a>'9' ) a+=7 等同于 a>'9'?(a+=7):0 等同于 a>'9'&&(a+=7) 等同于 a<='9'||(a+=7);
-----------------------------------------------------
我覺的等同於 a>'9'?(a+=7):0 與 a<='9'||(a+=7);是比較好瞭解的
因為一個是使用易懂的條件運算子, 一個好似由mathematic中的logic, 引申出來的"A implies B" is logically equivalent to "not A or B", 都很直觀
而if( a>'9' ) a+=7 等同于a>'9'&&(a+=7)用了&&評估順序的方式, 初看還真不容易明白, 不過瞭解以後就發覺原來邏輯對等有時可能還須深入考慮評估順序呢, 謝謝版主讓我