C++,Visual Studio 2010 指针列表
c++, visual studio 2010 pointer in list
我有一个关于列表中的指针的简单问题。
pointer* Temp2;
Temp->data = 10; //(Temp is one of the elements in a list)
现在我想使用指针指向此元素以修改其数据。
Temp2=Temp;
Temp2->data = 5;
这能完成这项工作吗?
只要它不是本地指针,是的,而且只是因为它是一个列表。例如,如果它是一个向量,答案是否定的,因为一旦你修改了向量,你的指针可能会指向另一个元素,而列表不会发生这种情况。
我所说的本地指针是什么意思
_DATA local_data;
pointer *local_p = &local_data;
list.push_back(local_data);
local_p现在没用了,因为它指向堆栈,你需要获取一个指向堆的指针,std::list 为你的新元素创建了堆。
例如
pointer *improved_pointer = &*list.begin();
现在你可以做
pointer *alias = improved_pointer;
当然,这两个指针都将起作用,直到您从列表容器中删除该元素,只有这样它才会使您的指针无效。
相关文章:
- 为什么这个 std::queue/指向结构的指针列表直到 List.Size() == 0 才释放内存?
- 什么更好?返回对象指针列表?或返回指向对象列表的指针?
- 如何将共享指针列表传递到pybind11中的c++对象
- C++:如何初始化包含具有给定键的指针列表的映射
- 使用继承的指针列表复制构造函数或重载运算符=
- 我应该如何在工厂类中存储弱指针列表?
- Qt单元测试:指针列表上的QCOMPARE函数
- 如何正确释放要配对的指针列表?
- 如何在 c++ 上对指针列表进行排序
- 从地图复制到指针列表
- 我对C 中共享指针列表进行排序的功能未完成类型
- const_iterator引用的指针列表
- 在 c++ 中生成字符串到 std::指针列表的映射
- 访问链表中的结构(带有指向其子实现的指针列表的树)
- 有没有办法使用基于范围的迭代器来迭代对指针列表值的引用?
- 使用迭代器指针 (C++) 从对象指针列表中删除元素
- 无法列出定制类型的指针列表
- 创建指针列表的正确范例是什么
- 如何将指向指针列表的私有指针作为 const 返回
- C++填充指向指针**列表的指针,该列表指向指针地址