-3

我需要将 DMapEntry::pData 从 char* 更改为包含原始指针的类 DMapData,但仍然能够在 DMapEntry 中引用 &pData[offset] 而无需更改它。这可能吗?

#include "stdafx.h"

class DMapData {
    char* pData;
public:
    char* operator->() { return pData; }
    char operator[](size_t offset) { return pData[offset]; }
    friend class DMapEntry;
};

class DMapEntry {
    char* pStr;
public:
    DMapData pData;
/*----->*/    void getStr(size_t offset) { pStr = &pData[offset]; }
};

int _tmain(int argc, _TCHAR* argv[])
{
    DMapEntry a;
    return 0;
}

谢谢,卡尔

4

1 回答 1

0
 char& operator[](size_t offset) { return pData[offset]; }
于 2013-05-17T04:32:51.273 回答