c++之Vector容器数据两种取值方法(指针访问,数组下标访问)

来源:互联网 发布:mac剪切 编辑:程序博客网 时间:2024/06/06 01:17
vector 是一个类模板(class template)。使用模板可以编写一个类定义或函数定义,而用于多个不同的数据类型。因此,我们可以定义保存 string 对象的 vector,或保存 int 值的 vector,又或是保存自定义的类类型对象(如Sales_items 对象)的 vector。vector 不是一种数据类型,而只是一个类模板,可用来定义任意多种数据类型。vector 类型的每一种都指定了其保存元素的类型[2]
vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。
 
2中方法:
指针访问,数组下标访问
int position;for (vector<int>::iterator iter = cliqueFormationVO.rolePosition.begin(); iter != cliqueFormationVO.rolePosition.end(); iter++){CCLOG("iter: %d",*iter);CCLOG("*************");position = *iter;if (position != 0){char ch[11];sprintf(ch,"%d",position);CCLOG("ch: %s",ch);JsonBox::Value role;role = formation["data"]["role"][ch];printf("输出角色信息\n");cout<<role<<endl;}}for (int i=0;i< (int)cliqueFormationVO.rolePosition.size();i++)      {          position = cliqueFormationVO.rolePosition[i];           //position = test[i];          CCLOG("position: %d",position);          printf("position: %d\n",position);          /*if (temp != 0)         {             char ch[11];             sprintf(ch,"%d",temp);              JsonBox::Value role;             role = formation["data"]["role"][ch];             printf("输出角色信息\n");             cout<<role<<endl;         }*/      }  

 
结果:
 
 
 
 
 
原创粉丝点击