【问题标题】:How to cast a reference to pointer to pointer to pointer如何将对指针的引用转换为指向指针的指针
【发布时间】:2012-10-30 16:43:07
【问题描述】:

我有一个指向 X 对象的指针 void* p。如何制作指向 p 指针的 void** p2 指针?我想这样做的原因是 X 对象的位置在重新映射后可能会改变,所以我希望 *p2 始终访问新地址。我想通过将 &p 强制转换为 void** 来实现这一点,但这不起作用。

【问题讨论】:

    标签: pointers reference casting double memory-address


    【解决方案1】:

    从你的问题中不清楚你是否尝试过这个:

    int x = 10;
    void* p = &x;
    void** p2 = &p;
    

    这会创建一个指针p2,它指向p1,而后者又指向x

    【讨论】:

    • 嗯,其实我尝试将&x存储在一个void* p2中并通过参数传递(因为我想要一个函数),但是当我取消引用它时,它并没有指向X。是是因为我应该这样做 void** 并通过参数将 void** 作为一个整体传递?
    • 我已经在stackoverflow.com/questions/13143388/… 中解释了我的问题,但也许它难以理解,因为ivve 没有得到回复:) ?
    • 我犯了一个不相关的错误,因此这不起作用,但答案是正确的,所以我将其标记为已回答。
    猜你喜欢
    • 2021-07-22
    • 1970-01-01
    • 2018-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-15
    • 1970-01-01
    相关资源
    最近更新 更多