大佬教程收集整理的这篇文章主要介绍了C STL向量迭代器访问对象的成员,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的代码中,行—>> cout< “”< * Iter项目; 如何打印会员的内容?喜欢* Iter.m_PackLine ??? 不知道如果我使用了正确的术语,但是感谢帮助!谢谢
class CFileInfo { public: std::string m_PackLine; std::string m_FiledatetiR_195_11845@e; int m_NumDownloads; }; void main() { CFileInfo packInfo; vector<CFileInfo,CFileInfo&> unsortedFiles; vector<CFileInfo,CFileInfo&>::iterator Iter; packInfo.m_PackLine = "Sample Line 1"; packInfo.m_FiledatetiR_195_11845@e = "06/22/2008 04:34"; packInfo.m_NumDownloads = 0; unsortedFiles.push_BACk(packInfo); packInfo.m_PackLine = "Sample Line 2"; packInfo.m_FiledatetiR_195_11845@e = "12/05/2007 14:54"; packInfo.m_NumDownloads = 1; unsortedFiles.push_BACk(packInfo); for (Iter = unsortedFiles.begin(); Iter != unsortedFiles.end(); Iter++ ) { cout << " " << *Iter; // !!! THIS IS WHERE I GET stuR_195_11845@PED // How do I output values of the object members? } } // end main
cout << " " << *Iter;
仅当CFileInfo具有重载运算符<<<可以输出你的结构.您可以输出结构体的各个成员,如下所示:
cout << " " << Iter->m_PackLine;
或者,以下相当于:
cout << " " << (*Iter).m_PackLine;
你必须在* Iter周围放置括号,因为成员访问运算符否则绑定更严格.
在一个侧面节点上,使你的main函数返回int而不是void.使其返回void在C中无效.
你这样宣告向量:
vector<CFileInfo,CFileInfo&> unsortedFiles;
向量的第二个参数应该是另一回事.你的代码根本不需要给第二个参数.只需使用:
vector<CFileInfo> unsortedFiles;
我注意到另一件事是你使用Iter来增加迭代器(称为后缀增量).对于迭代器,总是喜欢Iter,称为前缀增量.
以上是大佬教程为你收集整理的C STL向量迭代器访问对象的成员全部内容,希望文章能够帮你解决C STL向量迭代器访问对象的成员所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。