Что такое «шаблон» класса T & gt; используя owner = T; & quot ;?

Ниже приводится выдержка из gsl.h из Microsoft gsl библиотека (https://github.com/microsoft/gsl):

namespace gsl
{
//
// GSL.owner: ownership pointers
//
using std::unique_ptr;
using std::shared_ptr;

template<class T>
using owner = T;
...
};

Я не могу понять, что означает следующий шаблон псевдонима:

template<class T>
using owner = T;

Есть объяснения?

5

Решение

Это означает, что для каждого T, owner<T> это псевдоним для T,

5

Другие решения

Его можно использовать как аннотацию, чтобы показать, какие указатели являются «владельцем», т. Е .:

Пример не владеющего необработанным указателем

template<typename T>
class X2 {
// ...
public:
owner<T*> p;  // OK: p is owning
T* q;         // OK: q is not owning
};
1

По вопросам рекламы [email protected]