《Effective c++》阅读笔记二:让自己习惯于C++
2014-07-28 15:48
211 查看
对大多数程序员而言,C++(包括C)很可能是第一门接触的编程语言,高效、规范,优美,一丝不苟但也难以彻底掌握。C++究竟是什么?最简单的是将C++看成是一个由相关语言组成的一个联邦(书中原文,个人觉得用集合或者超集更容易理解)而非单一的语言,可以把这个大的联邦看成由若干次语言组成。在C++中,主要的次语言并不多,主要有以下四个:C、Object-OrientedC++、TemplateC++和STL。
C:说到底,C++仍然以C为基础。区块(blocks)、语句(statement)、预处理器(preprocessor)、内置数据类型(build-in
data types)、数组(arrays)、指针(points)等等统统来自C。很多时候C++对一个问题的解法其实不过是较高级的C解法。但是当以C++内的C成分工作时,高效编程守则反映出C语言的局限:没有模板(template),没有异常(exception),没有重载(overloading)…
Object-Oriented C++:这也正是C++在C的基础上需要的最低诉求:类(class)、封装(encapsulation)、继承(inheritance)、多态(polymorphism)、虚函数(virtualfunction)等等。
Template C++:这是C++泛型编程的部分,也是大多数程序员经验最少的部分。但实际上,模板的相关考虑已经弥漫整个C++。
STL:STL是个template程序库,但它也是非常特殊的一个。它对容器(containers)、迭代器(iterators)、算法(algorithms)以及函数对象()的规约有着极佳的紧密配合和协调。但STL的存在本身是有争议的,这也是很多C程序员不屑于使用STL的其中一个原因。
这几个方面概括起来无非是说明了C++相较于其他编程语言最具特色的地方。所以或许可以说,C++相较于C除了指针还有面向对象,还有模板,还有标准库。
C:说到底,C++仍然以C为基础。区块(blocks)、语句(statement)、预处理器(preprocessor)、内置数据类型(build-in
data types)、数组(arrays)、指针(points)等等统统来自C。很多时候C++对一个问题的解法其实不过是较高级的C解法。但是当以C++内的C成分工作时,高效编程守则反映出C语言的局限:没有模板(template),没有异常(exception),没有重载(overloading)…
Object-Oriented C++:这也正是C++在C的基础上需要的最低诉求:类(class)、封装(encapsulation)、继承(inheritance)、多态(polymorphism)、虚函数(virtualfunction)等等。
Template C++:这是C++泛型编程的部分,也是大多数程序员经验最少的部分。但实际上,模板的相关考虑已经弥漫整个C++。
STL:STL是个template程序库,但它也是非常特殊的一个。它对容器(containers)、迭代器(iterators)、算法(algorithms)以及函数对象()的规约有着极佳的紧密配合和协调。但STL的存在本身是有争议的,这也是很多C程序员不屑于使用STL的其中一个原因。
这几个方面概括起来无非是说明了C++相较于其他编程语言最具特色的地方。所以或许可以说,C++相较于C除了指针还有面向对象,还有模板,还有标准库。
相关文章推荐
- effective c++之让自己习惯C++
- 读书笔记 Effective C++: 01 让自己习惯C++
- 《Effective C++ 3/e》笔记(一):让自己习惯 C++
- 【读书笔记】Effective C++-1 让自己习惯C++(之三)
- Effective C++之1 让自己习惯C++
- Effective C++ 3nd 读书摘要(一、让自己习惯C++ ; 二、构造,析构,赋值运算)Item1 - 12
- Effective C++第一章:让自己习惯C++
- 【Effective C++】条款01-让自己习惯c++
- Effective C++ --1 让自己习惯C++
- 【读书笔记】Effective C++-1 让自己习惯C++(之二)
- Effective C++(一)让自己习惯C++
- Effective C++ ——让自己习惯C++
- Effective C++ ——让自己习惯C++
- Effective c++ 第一章 让自己习惯C++
- Effective C++ 1.让自己习惯C++
- Effective C++之让自己习惯C++
- Effective C++ ——让自己习惯C++
- Effective c++ 第一章 让自己习惯C++
- Effective C++ 笔记一 让自己习惯C++
- Effective C++第一章 让自己习惯C++