gpt4 book ai didi

c++ - 在不创建临时指针的情况下传递指向函数指针的指针

转载 作者:行者123 更新时间:2023-11-30 02:23:28 24 4
gpt4 key购买 nike

假设我有一个函数,它接受一个指向这样的指针的指针:

void foo (int** p){


// do stuff

}

我的问题是如何在不创建临时指针的情况下将指针传递给该函数?

// sample code:
int a=10;
int* pa=&a; // temporary pointer
foo (&pa); // passes a pointer to pointer , but requires a temporary pointer

foo (&&a); // this does not compile

有什么方法可以做到这一点吗?

最佳答案

简而言之,没有。您不能拥有不存在的地址的地址。这就是为什么您需要声明一个指向该地址的指针,然后获取该指针的地址。

Address    Value  Symbol
0x20 0xFF a
0x30 0x20 pa

您必须将其视为将它们链接在一起。 pa 包含指向 a 地址的值。如果你没有 pa 你就没有对 a 的间接引用,因此无法获得指向地址的指针,因为你只有 的值和地址一个。那有意义吗?

把它想象成你不能指向你自己,因为事实上你就是你自己,但其他人可以指向你。

关于c++ - 在不创建临时指针的情况下传递指向函数指针的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46220390/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com