我需要从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中检索向量内的对象所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)