CppPrimer4::Chapter II
于是在简单的Cpp概述之后,直接进入细节讲解。第二部分:基本语言
二章:变量和基本类型
这部分没有什么难点,而三版中的volatile限定语,Vector的简单介绍都统统拿掉了。Lippman看来希望四版更加循序渐进一些。
抓住了一些细节:
Type determine what the data and operation in our programs mean.
前一章提到了,类的设计就是为了扩充类型。像类型一样使用。于是这句话就显得很有意义了,我们知道了这个东西是什么类型,那么就知道了这个数据和操作是什么意义。就好像那句著名的话一样,”Don‘t Ask, Tell!“
也就是说,我们类的设计也是这样,知道了这个对象是这个类的实例,就自动知道操作和数据的意义。而实现细节是交给类内部来做的。
Don’t rely on undefined behavior.
这句话很重要,因为那些没有定义的或者不明确的行为往往会带来错误,就算没有导致错误,那也是碰巧正确了。在环境改变的时候也许就马上带来错误了。不做不明确的行为,是大幅度减少bug的重要手段。比如我们做的项目时候,开始用SQLserver,用字符串格式查询数据库中的时间戳数据没有问题,但是到了Access中,必须用时间类型数据查询时间戳,而且必须加#,而用字符串查询这明显就是不确定的行为。导致了很多bug。
Using Blackslah to break a line in the middle of a word , must be performed on the line no comments or trailing blanks are allowed.
一句话,能不用就不用,用的时候一定要注意,后面不要不小心的打上空格。
Lvalues can either be left-hand or right-hand,while Rvalues must be right-hand.
调程序的时候注意这一点,可以很快解决关于Lvalues或者Rvalues的问题,关于这两种Value应该加强理解,可以避免一些难以发现的bug。
When a reference is initialized. It remains bound to the object as long as it exists. there is no way to rebind it to another object.
这点以前还真没有注意,有可能在这里犯错误。
听人说过重要的是编程思想和解决问题的手段,程序语言的细节是次要的。我要说,如果在编程的路上遇到了一些不顺或者软件实施过程中发现开发过程经常出现太多的bug。那么回过头来研究一下语言的细节,可以更好的理解编程思想和软件理论,以便自己走得更快更好。
BTW:写读书笔记很好,今天看一些论文到了12点,如果不是因为要写笔记Blog出来,我可能今天就不看Primer了,看也未必看很细致。这样下去可能就会影响进度或者没有达到效果。虽然看英文书有点慢,但是读书笔记可以帮我坚持下去。
Trackback: http://tb.donews.net/TrackBack.aspx?PostId=494004


Recent Comments