gpt4 book ai didi

c++ - 将指针 * 分配给指针 ** 时它是如何工作的?

转载 作者:行者123 更新时间:2023-12-04 14:31:47 24 4
gpt4 key购买 nike

我正在学习指针。
当我练习通过指针 ** 分配指针 * 然后 p_to_p = ptr 但 *p_to_p != *ptr。
这是我的练习代码

#include <iostream>

using namespace std;

int main() {

int value = 100;
int *ptr = &value;
int **p_to_p = (int**)ptr;

cout << p_to_p << " " << ptr << endl;
cout << *p_to_p << " " << *ptr << endl;

return 0;
}

请解释在将指针 * 分配给指针 ** 时它是如何工作的。
非常感谢!

最佳答案

int **p_to_p = (int**)ptr;

在这里,您重新解释了 ptr 的值作为 int** .所有对象指针都可以被重新解释为其他类型的指针,但除了极少数情况外,您通常不能通过这种重新解释的指针进行间接处理。
*p_to_p

这并非特例。程序的行为是未定义的。

关于c++ - 将指针 * 分配给指针 ** 时它是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68907492/

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