C++ 静态方法的Typedef

C++ 静态方法的Typedef,c++,typedef,C++,Typedef,是否可以为方法创建typedef?我的意思是: //namespace A{ //namespace B{ Car& Car::getInstance() //static! (sigleton) { if(m_instance == nullptr) { m_instance = new Car(); } return *m_instance; } //} //} // something like: typedef A::B::Car::getInstanc

是否可以为方法创建typedef?我的意思是:

//namespace A{
//namespace B{
Car& Car::getInstance() //static! (sigleton)
{
  if(m_instance == nullptr)
  {
    m_instance = new Car();
  }
  return *m_instance;
}
//}
//}

// something like:
typedef A::B::Car::getInstance() l_car;
现在:

l_car.fake_method();
解决方案 指向该typedef之后的函数的指针?

如何

A::B::Car& l_car = A::B::Car::getInstance();
那怎么办

A::B::Car& l_car = A::B::Car::getInstance();

指向静态方法的指针的typedef:

与常规函数指针相同,如下所示:

typedef Car& (*CarMethod)();
你会像这样使用它:

CarMethod getCar = &Car::getInstance;
//...
Car& theCar = (*getCar)();

不过,我不确定这在单例中有什么用途。

静态方法指针的typedef:

与常规函数指针相同,如下所示:

typedef Car& (*CarMethod)();
你会像这样使用它:

CarMethod getCar = &Car::getInstance;
//...
Car& theCar = (*getCar)();
不过,我不确定这在单例中有什么用处。

a
typedef
(从名称可以猜到)是关于类型,而不是值。但是你可以这样做

Car& Car::getInstance() {
    static Car *p = new Car;
    return *p;
}

Car& l_car = getInstance();
但是,您无法在第一次使用
l_car
时创建singleton实例,当然,使用宏技巧除外:

#define l_car (Car::getInstance())
一个
typedef
(你可以从名字猜出来)是关于类型,而不是值。但是你可以这样做

Car& Car::getInstance() {
    static Car *p = new Car;
    return *p;
}

Car& l_car = getInstance();
但是,您无法在第一次使用
l_car
时创建singleton实例,当然,使用宏技巧除外:

#define l_car (Car::getInstance())

A::B::Car&l_Car=A::B::Car::getInstance();A::B::Car&l_Car=A::B::Car::getInstance();