gpt4 book ai didi

java - C++ 指针指向 Java 中的指针

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:30:34 24 4
gpt4 key购买 nike

我是 Java 菜鸟。我已经能够掌握将 C/C++ 指针转换为 Java 引用的概念,而且进展相当顺利。

我点击了一段代码,其中包含指向指针的指针(即 **ptr)。我需要取消引用指针并更改它指向的指针的值(即 *ptr = &newthing;)

这在 Java 中似乎更难。有没有人对如何解决这个问题有任何想法?快速谷歌搜索一无所获。

这是 C++ 中的代码示例。我想在 Java 中得到类似的东西,但是 ptr_to_ptr 变量是个问题:

struct _coord
{
int x;
int y;
_coord * next_coordinate;
} coordinate_t;

coordinate_t buffer[100];
coordinate_t * head;
coordinate_t ** ptr_to_ptr;

if (wednesday)
{
ptr_to_ptr = &head;
}
else
{
ptr_to_ptr = &head->next_coordinate;
}
*ptr_to_ptr = &buffer[3]; // <<<---- HOW DO YOU MAKE THIS WORK?

最佳答案

在 Java 中可以用来模拟指向指针的指针的一个典型技巧是使用数组:对数组本身的引用用作“指针”,而数组元素用作指向的项目。您可以根据需要嵌套这些代码,但代码看起来不如 C/C++ 中的代码好。

与其将 C/C++ 习语移植到 Java,不如构建一个可变类,让您可以更改其中的项。这个类将作为一个“指针”为您提供您正在寻找的功能,它还会增加您的 Java 代码的可读性。泛型极大地简化了您的任务,只需要一个可以重复使用的实现。

关于java - C++ 指针指向 Java 中的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11126782/

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