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

如何在c中检索向量内的对象,第1张

概述我是一个C noob程序员…(我通常使用 Java)现在我遇到了一些指针,引用和向量问题…… 我需要从vector< Object>中提取一个Object.对象和简单我想将他的引用存储在另一个对象中因为我需要多次编辑它内部的一些参数 这是我到目前为止编写的代码: Object myObject = getMyObject(id, objects); 和getMyObject只是实现一个for循环, 我是一个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);
总结

以上是内存溢出为你收集整理的如何在c中检索向量内的对象全部内容,希望文章能够帮你解决如何在c中检索向量内的对象所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1214436.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存