是可接受的,以提供C ++单例类库,但提供该库外的实例()方法

问题描述 投票:0回答:1

我有一个类库称为SingletonDemo,但我已经当选为提供静态访问方法SingletonDemo ::的GetInstance()库的外面,所以当我建立的生产代码,我想的getInstance(一版),当我构建单元测试,我想另一个版本。

c++ static singleton
1个回答
0
投票

难道你要使用的是预编译器指令?似乎有点更容易维护和可读...

#ifdef unit_test
    //unit test implementation
#else
    // normal implementation...
#endif

这样你就可以实现自动切换。

但是,你可以考虑不这样做...你碰见你的测试代码,以释放转移行为。

© www.soinside.com 2019 - 2024. All rights reserved.