问题标签 [dereference]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
225 浏览

c - 如何根据大小取消引用?

我正在尝试打印地址指向的值,但问题是我需要根据传递给我的大小取消引用该指针。所以这种东西:

我对如何实现这一点有点困惑。有人可以指出我正确的方向吗?

编辑:好的,所以我在想:

然后解引用为 *p。如果有更好的方法或正确的方法,请告诉我

0 投票
5 回答
3614 浏览

c++ - C结构指针解引用速度

我对指针取消引用的速度有疑问。我有这样的结构:

我的问题是,其中哪一个会更快,为什么?


情况1:


案例二:


所以在情况 1 中,循环直接取消引用 pRect 指针以获取比较值。在情况 2 中,在函数的本地空间(在堆栈上)创建了新值,并将值从 pRect 复制到本地变量。通过一个循环会有很多比较。

在我看来,它们会同样慢,因为局部变量也是堆栈上的内存引用,但我不确定......

此外,最好继续按索引引用 p[],或者将 p 增加一个元素并直接取消引用而不使用索引。

有任何想法吗?谢谢 :)

0 投票
1 回答
187 浏览

php - 在 PHP 中,使用 -> 解引用器调用静态类函数是否有问题

我正在使用 PHP 5.2

我有以下代码:

输出在这两种情况下都有效,这是输出:

这是静态的!

这是静态的!

使用第二种引用方式与第一种引用方式有问题吗?

由于我不允许使用与上述静态函数具有相同签名的非静态函数,因此这不是问题。我希望函数是静态的,因为使用静态函数时也有速度提升。

我是否遗漏了什么,或者这里唯一的问题是关于 -> 取消引用语法如何不表明这是一个静态函数的语义?

0 投票
4 回答
303 浏览

c - 有没有办法先发制人地避免段错误?

情况如下:

我正在通过使用挂钩 ioctl() 系统调用的 LD_PRELOADed 模块来分析程序与驱动程序的交互。我正在使用的系统(嵌入式 Linux 2.6.18 内核)幸运地具有编码到“请求”参数中的数据长度,因此我可以愉快地转储具有正确长度的 ioctl 数据。

然而,很多这些数据都有指向其他结构的指针,我不知道这些数据的长度(毕竟这是我正在调查的内容)。所以我正在扫描数据中的指针,并将数据转储到那个位置。我担心如果指针靠近段边界(我的早期测试似乎表明情况如此),这可能会使我的代码对段错误开放。

所以我想知道在尝试取消引用之前我可以做些什么来先发制人地检查当前进程是否拥有特定的偏移量?这甚至可能吗?

编辑:只是一个更新,因为我忘了提到一些可能非常重要的东西,目标系统是基于 MIPS 的,尽管我也在我的 x86 机器上测试我的模块。

0 投票
4 回答
14866 浏览

c++ - 取消引用指针会复制它吗?

取消引用指针并将其传递给通过引用获取其参数的函数会创建对象的副本吗?

0 投票
1 回答
1453 浏览

memory-leaks - 潜在的 Null 取消引用

我正在使用一个开源的 json 解析器,但是在编译它时给了我取消引用的警告。

MyProject/Classes/SBJSON.m:403:13 潜在的 null 取消引用。根据“创建和返回 NSError 对象”中的编码标准,参数“错误”可能为空

在这里它显示了错误的取消引用。

0 投票
3 回答
7079 浏览

c++ - c++ 可能的空指针取消引用

我对一些代码运行 cppcheck 以查找可能的运行时错误。它报告了一个可能的空指针取消引用,情况如下:

编辑:更好的例子

来自 cppcheck 的错误消息:

[C:\file.cpp:3]:(错误)可能的空指针取消引用:x - 否则在第 4 行检查 x 是否为空是多余的

但我不明白这是怎么可能的。

0 投票
6 回答
295 浏览

java - 看起来双类型变量没有方法。Java 或 NetBeans 出了什么问题?

根据 Oracle 的说法,我应该能够将 和 之类的方法.intValue()应用于.compareTo()双精度,但是当我在 NetBeans 中编写dbl.toString()时,例如,IDE 告诉我不能取消引用双精度。我什至不能将它们转换为形式的整数(Integer) dbl
我有 JDK 1.6 和 NetBeans 6.9.1。这里有什么问题?

0 投票
2 回答
998 浏览

c++ - 取消引用指针 C++

我刚刚设法用 c++ 编写了一个全局 CBT 挂钩,可用于 c#。这听起来可能很愚蠢,但由于我使用 c# 工作,我对指针和取消引用的了解非常糟糕。

我无法取消引用 lParam 指向的结构内的指针。

它看起来像这样:lParam 是一个指向 CBT_CREATEWND 结构的长指针,该结构又包含一个成员“lpcs”和一个指向 CREATESTRUCT 的指针。这个结构包含一个我想阅读的成员“x”。我尝试了以下方法,但我得到了 x 的无效值:

有人可以帮我吗?

0 投票
5 回答
728 浏览

c - C中的组合取消引用和递减

我需要一种尽可能有效的方法来转移数组的内容。我需要将每个数组位置的内容向右移动一个并忽略第一个,以便我可以在那里写入一个新值。

这是我所拥有的:

我想做的是将for循环的两行组合成一个操作。就像是:

然而,这个结果是不确定的。我是否坚持我已经在使用的东西?

编辑:我应该澄清这不是我正在使用的实际代码,只是一个演示我所追求的构造的快速示例。