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