Создание экземпляра объекта с оператором области - PullRequest
0 голосов
/ 18 марта 2020

Я наткнулся на код, похожий на:

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

Не могу обернуть голову, я не знаком с c ++.

Может кто-нибудь объяснить мне

1 Ответ

5 голосов
/ 18 марта 2020
SampleObject<int>* example = new SampleObject<int>::aMethod();

Это может быть правильно сформировано, только если aMethod является псевдонимом типа элемента SampleObject с именами SampleObject или другим типом, указатель которого может быть преобразован посредством наследования. Например, вот так:

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

Может ли кто-нибудь мне это объяснить?

Это не имеет особого смысла; по крайней мере, не без контекста.

...