Effective c++

  • Post author:
  • Post category:其他


一、自己习惯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



版权声明:本文为weixin_43861033原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。