C++中利用编译器常量取代预处理惩罚常量详解
对付预处理惩罚的纯真常量, 可以利用const范例举办取代;
在面向工具编程中, 类内的常量, 可以利用静态const成员取代,
留意类内(in-class), 静态const成员只答允利用整型常量举办赋值, 假如是其他范例, 是在类内声明, 类外界说的方法;
也可以利用"enum hack", 提供const的浸染, 而且给内置(built-in)数组声明;
预处理惩罚的函数挪用存在许多问题, 可以利用模板内联(template inline)取代, 也可以得到很高的效率;
详细拜见代码, 及注释;
代码(/*eclipse cdt ; gcc 4.7.1*/):
/* * effectivecpp.cpp * * Created on: 2013.11.13 * Author: Caroline */ /*eclipse cdt ; gcc 4.7.1*/ #include <iostream> #include <string> #include <array> #include <algorithm> using namespace std; #define ASPECT_RATIO 1.653 //长宽比 /*ASPECT_RATIO = 1.653 AspectRatio = 1.653 authorName = Caroline sAuthorName = Caroline gp.scores : 1 2 3 4 5 GamePlayer::PI = 3.14 f : 7 ; a = 7 f : 10 ; a = 6 f : 6 ; a = 6作者:csdn博客 Spike_King