printf("CallManager Destructed...\n");
}
private:
CallManager(){//注意这个为私有
printf("CallManager Constructed...\n");
}
};请注意虽然我将函数的实现写在了类的声明里面,但是请注意这并不是我本意。我是为了简单,其实应该分成h和cpp文件的,这样可以降低编译依赖,而且默认内联也不是我们想要的,具体的细节不再赘述。
main驱动程序:
[cpp]
#include
#include
int main(){
CallManager* pCallManager = CallManager::GetInstance();
CallManager* pCallManager2 = CallManager::GetInstance();
assert(pCallManager == pCallManager2);//确认是完全一样
return 0;
}
#include
#include
int main(){
CallManager* pCallManager = CallManager::GetInstance();
CallManager* pCallManager2 = CallManager::GetInstance();
assert(pCallManager == pCallManager2);//确认是完全一样
return 0;
}
输出结果:
[cpp]
CallManager Constructed...
CallManager Destructed...
CallManager Constructed...
CallManager Destructed...与我们所想一致,由初始化构建,只构建一次,在main结束之后被自动释放。Wonderful。
后记:
不知道我的这种叙述方式会不会有点过于口语化了,我只想把我在学习它的时候的所得所思所获说出来,跟大家探讨一下,有些经验希望能给大家带来哪怕小小的帮助,描述的过程同样是我再次回顾我的思路的过程,有错误欢迎指出,让我也纠正我的错误,谢谢。