是否有一种方法可以使用'this'关键字或类似的方法创建当前对象类型的指针,以便不明确提及类类型?创建一个类型为'this'/当前对象的指针
我有一个基类GraphicObjects,它可以充当其他GraphicObjects和派生自GraphicObjects的对象的容器。我认为这可能比明确指定类中的类型要好,所以我可以在别处使用它/更改类名。
class GraphiObjects {
typeid(*this) *a; // Fails.
GraphicObjects *b; // This works.
GraphicObjects *children_[];
};
如果有可能,有什么理由不使用它?
你想实现什么? 'typeid'返回一个'std :: type_info' *对象*。你有没有把它与C++ 11的['decltype'](http://en.cppreference.com/w/cpp/language/decltype)混淆?类似于'typename std :: remove_reference :: type a;'在* methods *中完全有效,但是...好吧... –
dhke
模板可能能够拯救你,但为什么它不仅可以编写'Alpha *'?如果这只是一个问题或偏好,那么我会说“这是语言的一部分,不要绕过它”。 – MicroVirus
@Michael我有一个基类GraphicObjects,它可以充当其他GraphicObjects和派生自GraphicObjects的对象的容器。我认为这可能比明确指定类中的类型要好,所以我可以在别处使用它/更改类名。 –