1.视C++为一个语言联邦 -- View C++ as a federation of languages
C++一直是被看做带类的C,当初C++推出的时候,用带类的C来形容C++再贴切不过,但是随着C++语言的成熟,尤其是VS2010对C++新特性的支持(参考MSDN:http://msdn.microsoft.com/zh-cn/library/dd465215),使得C++越来越具有自己独特的韵魅力!为了了解C++语言,必须认识四个主要的次语言:
1. C。 说到底,C++仍然是以C为基础的,区域(blocks), 语句(statement), 预处理器(preprocessor), 内置数据类型(built-in data type), 数组(array), 指针(pointer)...都是源自C。
2. Object-Oriented C++。当然了,C++拥有许多C所没有的特性,如classes(constructor, destructor), 封装(encapsulation), 继承(inheritance), 多态(polymorphism), virtual functions...
3. Template C++。这是C++泛型编程(generic programming)的体现,templates的强大功能,使得很多C++程序员为之着迷,templates带来了崭新的编程泛型(programming paradigm),模板元编程(tempaltes metaprogramming -- TMP)。
4. STL。STL是一个template程序库,它对containers, iterators, algorithms, function objects的规定和约束有了很好的配合和协调。使用STL,必须遵循它的规定和约束。
请记住:C++高效编程守则视具体情况而变化,取决于你用C++的那一部分!