我想在C ++中为单例调用创建一个别名
所以我不是每次都调用MYCLASS::GetInstance()->someFunction();
,而是在代码中调用someFunctionAlias();
。
答案 0 :(得分:3)
使用静态功能。
namespace ... {
void someFunction() {
MYCLASS::GetInstance()->someFunction();
}
};
编辑:抱歉小伙子,我写了一些静态someFunction,意味着虚空someFunction。
答案 1 :(得分:1)
typedef用于类型别名,但不能用作调用别名。
函数(例如DeadMG建议的)可以用作调用“别名”。
PS。因为这是C ++,你有很多选项,函数指针,std :: tr1 :: function<>运算符重载和预处理器。但在这种情况下,它看起来像一个简单的功能将是最简单和最好的解决方案。
答案 2 :(得分:0)
查找函数指针。
您可以创建一个函数指针,并将其指定给您的long函数。然后,只要定义了变量,就可以像调用常规函数一样调用此函数指针。
函数指针可能令人困惑,但在API回调中经常使用(即您将函数作为参数传递给API,并且当事情发生时API会调用该函数(想想WndProc))。
祝你好运。答案 3 :(得分:-1)
#define someFunctionAlias MYCLASS::GetInstance()->someFunction()