通过引用返回解释

时间:2015-09-24 00:03:33

标签: c++

我有一个字节数组Data [],我通过这个函数访问其中的非结构化项目:

    inline HItem* AtP(const uint32_t &PosB) {
        return reinterpret_cast<HItem*>(Data + PosB);
    }

我将HItem的起始偏移量传递给函数(它们是可变大小),这样可以正常工作。

我试过了这个:

    inline HItem& At(const uint32_t &PosB) {
        return *reinterpret_cast<HItem*>(Data + PosB);
    }

但是我收到了堆栈损坏错误,因为它返回的对象不是物理上位于我指定的内存地址中的那个,而是其他东西(不确定是否随机)。

第二个功能有什么问题?它甚至可能吗?

0 个答案:

没有答案