使用作用域运算符实例化对象



我遇到了一个类似于的代码

SampleObject<int>* example = new SampleObject<int>::aMethod();

我无法理解它,我对c++不熟悉。

有人能给我解释一下吗?

SampleObject<int>* example = new SampleObject<int>::aMethod();

只有当aMethod是命名SampleObjectSampleObject的成员类型别名或其指针可通过继承转换的另一类型时,这才是正确的格式。例如:

template<class T>
struct SampleObject{
using aMethod = SampleObject;
};

有人能给我解释一下吗?

这没有多大意义;至少不是没有上下文。

最新更新