我想要做的:每当要在程序中使用类的实例时,运行一些必备代码。此代码将检查 requiremts 等,并且应该只运行一次。
我发现这可以使用另一个对象作为构造函数中的静态变量来实现。这是一个更好的图片示例:
class Prerequisites
{
public:
Prerequisites() {
std::cout << "checking requirements of C, ";
std::cout << "registering C in dictionary, etc." << std::endl;
}
};
class C
{
public:
C() {
static Prerequisites prerequisites;
std::cout << "normal initialization of C object" << std::endl;
}
};
困扰我的是到目前为止我还没有看到类似的静态变量使用。是否有任何缺点或副作用,或者我错过了什么?或者也许有更好的解决方案?欢迎任何建议。