[英]Use diferent class depend on g++ flag
我希望我的 C++ 程序以兩種模式之一工作:正常/調試。 現在我有一些class A
,我想在normal mode
用class N
替換它,或者在debug mode
用class D
替換它。 干凈的做法是什么? 我在想這樣的事情:
// classA.h
#ifdef DEBUG
#include "./classD.h"
#else
#include "./classN.h"
#endif
但是我怎樣才能輕松地使這個 class 與以前class A
接口“兼容”?
我忍不住要提一下,你想做的事情有點可疑。 除非A
專門用於調試,否則我不希望它在調試/發布版本中成為不同的 class。 如評論中所述,您通常希望調試稍后發布的代碼,而不是一些不同的代碼。 這聽起來像是一個混亂的秘訣。
話雖如此,您可以將A
設為兩者之一的別名:
// classA.h
#ifdef DEBUG
#include "./classD.h"
using A = D;
#else
#include "./classN.h"
using A = N;
#endif
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.