加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在c中检索向量内的对象

发布时间:2020-12-16 09:39:39 所属栏目:百科 来源:网络整理
导读:我是一个C noob程序员…(我通常使用 Java)现在我遇到了一些指针,引用和向量问题…… 我需要从vector Object中提取一个Object.对象和简单我想将他的引用存储在另一个对象中因为我需要多次编辑它内部的一些参数 这是我到目前为止编写的代码: Object myObject
我是一个C noob程序员…(我通常使用 Java)现在我遇到了一些指针,引用和向量问题……

我需要从vector< Object>中提取一个Object.对象和简单我想将他的引用存储在另一个对象中因为我需要多次编辑它内部的一些参数

这是我到目前为止编写的代码:

Object myObject = getMyObject(id,objects);

和getMyObject只是实现一个for循环,它找到具有正确id的正确对象,并返回它与返回对象[i]

但如果我理解正确,这种方法会复制对象!所以,在myObject中有一个完全不同的对象,是不是?

我应该怎么做??

非常感谢你!

解决方法

你是对的.你应该做的是让get函数返回一个引用:

Object & getMyObject(int id,std::vector<Object> & objects)
{
    // ... find ...
    return objects[i];
}

然后将其绑定到用户代码中的另一个引用:

Object & theobject = getMyObject(12,all_objects);

现在,您可以通过引用对象直接修改包含的元素.

如果您不想/需要修改对象,只需检查它们,您应该创建引用(以及容器)const:

Object const & getMyObject(int id,std::vector<Object> const & objects);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读