微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将指针向量中的指针移动到该向量中的另一个索引?

如何解决如何将指针向量中的指针移动到该向量中的另一个索引?

编辑:

谢谢你的帮助。我也想过使用 nullptr 应该可以工作:

v.at(1).ptr = v.at(0).ptr;

关注

v.at(0).ptr = nullptr;


我正在用 C++ 开发一个项目,我有一个我创建的类的指针向量

向量大小为 64,包含类型为 L 的指针

假设向量被称为 v

假设我在向量 (v.at(0)) 的第一个索引中有指针 1

我想将指针 1 移动到向量的第二个索引 (v.at(1))

这是我当前的代码

v.at(1) = v.at(0);

一个问题:这是设置第二个索引以保存当前存储在我的第一个索引中的指针的正确方法吗?

第二个问题:如何阻止我的第一个索引持有我的指针?

先谢谢你! :D

解决方法

这适用于交换算法。即

// Swaps the entries at indices A and B in vector<L*> v
void swap(int idxA,int idxB)
{
    L* temp = v.at(idxA);
    v.at(idxA) = v.at(idxB);
    v.at(idxB) = temp;
}
,
#include <algorithm>

然后使用std::swap

std::swap(v.at(i_a),v.at(i_b));

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。