我如何才能将其输入到更基本的东西中,例如 ProjectInstance:
((ProjectType*)NamespaceOne::NamespaceTwo::ClassName::StaticVariable)->x=0;
这是一个静态类,每次都通过命名空间+强制转换来调用它很烦人。
如何将其简化为某种别名,以便我可以将其称为
ProjectInstance->x=0;
我最初的想法是这样的:
#typedef ((ProjectType*)NamespaceOne::NamespaceTwo::ClassName::StaticVariable) ProjectInstance
其中 ProjectInstance 是转换为 ProjecType* 的 StaticVariable 的别名。
NamespaceOne::NamespaceTwo::ClassName::StaticVariable
StaticVariable 是 BaseType 的一个实例。ProjectType 扩展了 BaseType,我只是将 StaticVariable 转换为 ProjectType,因为 ProjectType 类中有一个附加变量“x”。
我要避免的事情:在我需要访问此静态变量的每个类中声明一个指针/函数。
到目前为止,解决方案是“使用命名空间”,虽然我之前知道这一点,但它是迄今为止最好的发布解决方案。
所以我们把原来的代码行剪成:
((ProjectType*)ClassName::StaticVariable)->x=0;
我有另一个解决方案:
ClassName::ProjectStaticVariable->x=0;
通过在“ClassName”类中创建一个新指针,我能够进一步减少它。
有没有更好的方法可以进一步减少这种情况?