以下内容摘自Microsoft gsl.h
库gsl
的{{1}}段:
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;
有任何解释吗?
答案 0 :(得分:5)
这意味着,对于每T
,owner<T>
都是T
的别名。
答案 1 :(得分:1)
它可以用作注释来显示哪些指针是'所有者'即:
Example of non owning raw pointer
template<typename T>
class X2 {
// ...
public:
owner<T*> p; // OK: p is owning
T* q; // OK: q is not owning
};