嵌套类和隐式this指针

时间:2017-06-11 15:13:45

标签: c++ class templates nested

我有一个模板类,里面有一个嵌套类。我的问题是如何使嵌套类具有对它嵌套在其中的类的引用?

例如,下一个数组类

template< typename TYPE >
class Array
{
private:

    class ArrayProxy
    {
    public:

        ArrayProxy( Array< TYPE >& arrayObject, UnsignedInteger64bits entryIndex );

    private:

        Array< TYPE >& m_arrayObject;
        UnsignedInteger64bits m_entryIndex;
    };

};

现在要构造ArrayProxy对象,下一个调用将在类Array的某个方法中使用:

ArrayProxy Array< TYPE >::DoSomething()
{
    return ( ArrayProxy( *this, entryIndex ) );
}

这不会编译。

我的混淆开始于隐式this指针发生了什么,因为嵌套的ArrayProxy应该具有相同的外部类的位置没有?并且嵌套类的数据成员是否使总类数据更大,或者只是创建了嵌套类的实例?

0 个答案:

没有答案