自引用模板

Self Referencing Template

本文关键字:自引用      更新时间:2023-10-16

我正在努力让以下内容发挥作用:

template< typename T >
class MyTemplate {
public:
    void myMethod( const MyTemplate< typename U > & )
    {
        return;
    };
};

其中myMethod参数CCD_ 1指示用不同类型实例化的类。这可能吗?

是的,这是可能的。语法如下:

template< typename T >
class MyTemplate {
public:
    template< typename U >
    void myMethod( const MyTemplate<U> & )
    {
        return;
    };
};

这是一个常见的构造。有关一些示例,请参见std::shared_ptr的构造函数。