问题标签 [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 投票
2 回答
2726 浏览

c++ - 在指向对象的指针向量中取消引用

我正在尝试访问由向量容器中保存的指针指向的对象(称为向量),但我似乎无法访问它。

以下是重要的代码片段:

Vector模板类在哪里,randvec<T>()返回对向量的引用,save()

向量static std::vector<Element*> vectors;在 Vectors 的基类 Element.h 中定义。

我对这一切都错了吗?我试图通过使用指向主类的指针向量将派生类的所有元素包含在基类的静态数据成员中。

我的 main() 输出可能会告诉你发生了什么——我得到了指针0x1001000a0。但是,如果我尝试取消引用该指针,我会收到以下错误:

为什么我不能取消引用这个指针?

0 投票
4 回答
385 浏览

php - 在同一行中使用explode()时如何访问数组索引?

无法绕开我的头......

说,我们像这样爆炸整个事情:

$extract = explode('tra-la-la', $big_sourse);

然后我们想在索引 1 处获得一个值:

$finish = $extract[1];

我的问题是如何一口气完成,这么说。与此类似的东西:

$finish = explode('tra-la-la', $big_sourse)[1]; // 不起作用

像下面这样的东西就像一个魅力:

$finish = end(explode('tra-la-la', $big_sourse));

// 或者

$finish = array_shift(explode('tra-la-la', $big_sourse));

但是,如果该值位于中间的某个位置怎么办?

0 投票
1 回答
11975 浏览

c++ - 指向向量元素的指针

如果我有一个指针指向向量中的一个元素,比如元素 2,然后该元素将与同一向量的元素 4 交换。指针现在是指向元素 2、元素 4,还是两者都不指向?例子:

向量 a 等于 [1,2,3,4,5]
创建指向元素 2 的指针,在这种情况下等于 3
交换元素 2 和 4
向量 a 现在是 [1,2,5,4 ,3]

向量指向哪里?

0 投票
1 回答
185 浏览

c++ - C++菜鸟问题:指针和重载[]

我已经盯着这个看了一段时间,并没有走得太远。FruitBasketFactory、FruitBasket 和 Fruit 是我正在使用的 API 中的三个类。我的目标是做一个水果篮,然后取回水果。根据 FruitBasketFactory.hpp:

然后在 FruitBasket.hpp

所以这是我的初始代码:

但在这里我收到一个错误“错误 C2248: 'FruitBasket::FruitBasket': cannot access private member declared in class 'FruitBasket'”。这不应该工作吗?

所以,很好......我重新编写了我的代码。

并且失败“错误 C2248:‘Fruit::Fruit’:无法访问在类‘Fruit’中声明的私有成员”

于是,又一次返工

尽管这段代码看起来很傻,但它确实有效。但为什么我只能做我认为应该是最明显的事情呢?


解析度:

FruitBasket 和 Fruit 的复制构造函数确实被阻止了。我可以通过创建引用来绕过调用它们,如下所示:

0 投票
2 回答
4062 浏览

c - 为什么 printf("%s", ptr) 能够取消引用 void*?

当我们谈论解引用时,是否有必要*在其中使用?如果我们以其他方式访问指针的所指对象,是否可以将其视为取消引用指针,例如:

这是我问题的第一部分。

现在如果printf( "%s" , ptr )是取消引用的一个例子,那么也请回答我问题的以下部分。

K&R 说

“指向 void 的指针”用于保存任何类型的指针,但不能自行取消引用

因此,

不编译,编译器报错

在函数'main'中:警告:取消引用'void *'指针错误:无效使用void表达式

但是如果我们使用

它编译并工作。这意味着可以取消引用 void 指针 - 我们得到了对象指针所指的对象。
如果是这种情况,那么上面提到的 K&R 在这种情况下是什么意思?

谢谢你的时间。

0 投票
2 回答
1343 浏览

php - mysqli 语句:fetch() 一个结果数组

我使用 mysqli 扩展并将结果绑定到一个对象:

每次调用$stmt->fetch()都会覆盖 $Item 的成为引用的属性。如果我只是克隆对象——这些引用仍然存在,并且两个实例同时更改:

所以应该有一种方法可以取消引用它们,以便clone真正制作副本,而不是一组引用的数据。是否有一种简单、灵活的方法来检索所有数据,以便将其存储为对象数组?主要问题是如何删除引用:&string.

我看到的唯一解决方案是实例化另一个对象并手动复制所有属性:

但这似乎有点过头了:它会复制所有不必要的属性(包括一些实际上没有被引用的额外属性),而且 - 是对性能的惩罚。

0 投票
7 回答
10552 浏览

c++ - C ++初学者问题:取消引用与乘法

刚刚进入C++。当我看到乘法符号*

例如: unsigned char * pixels = vidgrabber.getPixels();

这会让其他人失望吗?让我明白这一点的秘诀是什么?

谢谢你。


ps我有另一个相当简单的问题,没有得到回答:(这里:初学者问题:加/减值,而不是只是那个值很漂亮!谢谢你的时间!

0 投票
3 回答
353 浏览

overloading - 重载解引用运算符

我是 C++ 新手,我对重载取消引用运算符有疑问。我正在构建一个供应用程序使用的内存对象存储。数据存储映射到应用程序内存空间,应用程序可以使用取消引用运算符直接读取/修改对象。我计划提供如下描述的接口

在运算符重载函数中,有没有办法知道对象是被读取还是被写入?欢迎提出建议。

0 投票
1 回答
361 浏览

lisp - 有没有办法取消引用 common lisp 中的列表?

有没有办法取消引用 lisp 中的列表?

我正在尝试比较 2 个字符串,但其中一个在列表中。

0 投票
3 回答
195 浏览

c++ - 如何以及何时正确使用 *this 指针和参数匹配?

当我通过同事编写的代码时,在某个地方,他们使用:

事实上,我不确定 *this 指针的用途... :(

另一个与参数匹配的问题:

事实上,这两种情况都在执行所需的操作,这仅仅是让代码看起来更复杂的一种方法吗?

您对以上两个问题有何建议?什么时候使用它们合适,为什么?