读书笔记之:C++参考大全

读完这本书之后感觉这本书还是不错的。这本书一个很大的特点就是为我们理清C与C++之间的区别。我觉得这一点很重要,很多C++类 的图书经常就是把C和C++混在一起讲,然后导致读者对C与C++之间的差异不清晰,以为C++是完全包括C的。这本书的一个缺点是内容有些老了。之前我也看过C++ Primer。曾经很多次都想学习C++,每次开始学的时候都是从C++ primer开始。然后就产生了一种想法是,基本上所有的C++书籍都是千篇一律,没有差别。前一段时间,我终于坚持把C++ primer看完,感觉学到了很多。现在又看了一些其他的C++书籍,发现,C++ Primer讲得真的很不错。原来以为C++书籍都千篇一律的想法也是错误的,就是当时看的C++的书不够多的问题。C++ primer中提到了很多C++程序的规范,现在我一直都是按这种格式写的。并且很多C++的关键点都讲的挺不错的。特别是对虚函数/多态的讲解。所以C++ primer是初学者的好材料。并且大家一定要坚持把它看完。这样会对C++有一个很好的了解。知道现代C++的框架如何。

下面是C++参考大全这本书中的一些重要知识点:

1. 在C++中,当把一种类型的指针赋值(或转换为)另一种类型的指针时,必须使用强制类型转换,这是C和C++最根本的区别之一。

2. 从技术上讲,标准C不要求函数原型,但是却强烈推荐使用它们,而C++总是要求原型的。

唯一不要求原型的函数是main()函数,因为它是当程序运行时第一被调用的函数。

进行运算符重载时,既可以作为类成员函数也可以不是类成员。但非成员运算符函数几乎总是该类的 友元函数。

无论在编译时还是在运行时,C++都支持多态性。编译时多态是通过函数重载和运算符实现的 ,运行时多态性是通过使用继承和虚函数实现的。

当某个派生类不能覆盖虚函数时,使用按照派生顺序的逆序找到第一个重新定义的函数。

关键字typename有两个用途:(1)模板声明,用法与class一样(2)通知编译器模板声明中使用的名字是一个类型名,而不是一个对象名。

关键字export在template声明之前,它可以使其他文件只通过指定模板声明而不是复制全部定义就能够使用在不同文件中定义的模板。

C++中的转换函数可以把你创建的类型转换成与表达式中其他内容兼容的类型。转换函数是对操作符的重载:operator type(){return value;}

 

前言中的一段话,讲得不错:

下面是正式的内容:

vv

posted @ 2012-04-01 11:30  Mr.Rico  阅读(...)  评论(...编辑  收藏