Effective c++

一、自己习惯C++

1、视C++为一个语言联邦

        C++是一个多重泛型编程语言(multiparadigm programming language),一个同时支持过程形式(procedural)、面向对象形式(object-orientd)、函数形式(functional)、泛型形式(generic)、元编程形式(metaprogramming)的语言。

        理解C++,需要认识其四个次语言:

        C:C++以C为基础。区块(block)、语句(statements)、预处理器(preprocessor)、内置数据类型(built-in data types)、数组(arrays)、指针(pointers)等。

        Object-Oriented C++:C with Classes所诉求的。classes(包括构造函数和析构函数),封装(encapsulation)、继承(inheritance)、duotai (polymorphism)、virtual函数(动态绑定)...等等。

        Template C++:泛型编程(generic programming)部分.

        STL:temp;ate程序库,它对容器(containers)、迭代器(iterators)、算法(algorithms)以及函数对象(funtion object)的规约极佳的紧密配合与协调。

2、尽量以const,enum,inline替换#define

        尽量使用编译器处理,不要使用预处理器

        #define ASPECT_RATIO 1.653从未被编译器看见,它在预处理阶段会被替换。所使用的名称可能并未进入记号表(symbol table)。

        解决方法:使用一个常量替换上述的宏(#define):

        const double AspectRatio = 1.653;

        常量替换的两种特殊情况:

        将指针声明为const

        const char* con

你可能感兴趣的:(effective,c++,c++)