在<Effective C++>中,有一個條款是這樣的:現(xiàn)代的C++程序設計原則不推薦適用宏定義常量或函數(shù)宏,應該盡量少的使用 #define ,如果可能,用 const 變量或 inline 函數(shù)代替。但在Debug程序的時候需要一些預定義宏,如__DATE__,__FILE__,__LINE__,__FUNCTION__等。請問面對這種情況,是否應該用inline來代替define呢。如果需要 下面這種情況應該如何替代呢。#define log_err(M, ...) fprintf(stderr, "[ERROR] (%s:%d: errno: %s) " M "\n", __FILE__, __LINE__, clean_errno(), ##__VA_ARGS__)
C++中預定義宏是否應該由inline函數(shù)取代?
幕布斯6054654
2018-07-04 11:03:01