如何为单例函数创建别名?

时间:2010-09-05 11:26:08

标签: c++ singleton alias

我想在C ++中为单例调用创建一个别名 所以我不是每次都调用MYCLASS::GetInstance()->someFunction();,而是在代码中调用someFunctionAlias();

4 个答案:

答案 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()