指向C ++中的指针的指针

路易斯

您好,我是c ++的新手,我试图弄清楚如何使用指针更改同一对象。

例如,如果我有一个指针向量

std::vector<myclass*> top;

并说top [0] = NULL我想使用另一个指针来更改它

myclass* other = top[0];
other = new myclass();

这样,当我访问top [0]时,它将指向创建的新对象吗?对不起,有点混乱,但这就是想法。

一些程序员哥们

例如,如果您有一个向量int

std::vector<int> vec(10);

然后做类似的事情

int other = vec[0];
other = 5;

我想大多数人都会明白,分配other = 5;会改变变量的值other而已,而不是价值vec[0]

现在,让您获取代码:

myclass* other = top[0];
other = new myclass();

这是完全相同的事情:赋值other = new myclass();仅更改变量,other并且变量指向的位置不变top[0]

您想要的是other用作对中值引用top[0],您可以通过使用引用来实现:

myclass*& other = top[0];
other = new myclass();

现在other将引用in中的值top[0],因此分配将更改top[0]

为了完整起见,并与标题中的指针到指针保持一致,您当然可以通过指向指针的指针来解决它:

myclass** other = &top[0];
*other = new myclass();

上面的代码other将指向top[0],您需要在分配中使用解引用运算符*(如中的*other)来更改处的值top[0]我真的推荐参考。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

指向C ++中的函数指针的指针

来自分类Dev

在C ++中设置指向指针数据的指针

来自分类Dev

指向C ++中成员的指针

来自分类Dev

指向C ++中函数的指针

来自分类Dev

指向C中参数的指针

来自分类Dev

指向C中整数的指针

来自分类Dev

指向int的指针的c ++指针

来自分类Dev

C - 指向指针数组的指针

来自分类Dev

C 指向指针警告的指针

来自分类Dev

Typedef指向C ++中C函数的指针

来自分类Dev

在C中交换2d数组(指向指针的指针)

来自分类Dev

指向C ++中的字符串指针数组的指针

来自分类Dev

C中的单链表插入(指向指针的指针)

来自分类Dev

通过指向C中的指针的指针从struct获取值

来自分类Dev

C——指向指针的指针 VERSUS 指针数组

来自分类Dev

指向char的C ++指针

来自分类Dev

指向C ++结构的指针

来自分类Dev

指向数组的C指针

来自分类Dev

使指针指向c中的字符数组

来自分类Dev

指向c中匿名结构数组的指针

来自分类Dev

指向C ++中对象属性的指针

来自分类Dev

在C函数中传递指向数组的指针

来自分类Dev

在C中返回指向结构的指针

来自分类Dev

指向C中内置函数的函数指针

来自分类Dev

在C中递增指向多维数组的指针

来自分类Dev

指向c中的结构的sizeof指针

来自分类Dev

检查指向矢量C ++中对象的指针

来自分类Dev

指向C ++中对象数组的指针

来自分类Dev

在C中解引用指向0的指针