對於預處理的單純常量, 可以使用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 //長寬比 /*