您的位置:首页 > 编程语言 > C语言/C++

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

2013-10-15 01:13 1326 查看
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; 
        }*/  
    }



结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: