问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

cocos2d-x怎么用vector存struct结构体

发布网友 发布时间:2022-04-12 10:07

我来回答

2个回答

热心网友 时间:2022-04-12 11:36

std::vector<T> v;
std是命名空间
T表示对象的类型,可以是整型int ,字符string,结构struct,或者自定义的类;

我的理解是对数组的扩展,由程序动态管理内存。

详见: 点击打开链接 (维基百科)

以下写一段实用代码:

假如我需要一个对象,它有4个属性,并且我需要从xml文件中读取数据,把他们赋值给对象,然后添加进数组,对它们进行统一的操作。

如果用类+数组的方式也可以做到 ,但并不高效。

来看看struct+vector是怎么实现的:

.h
struct config
{
string name;
string id;
string price;
string description;
}
vector<config> item_config;
.cpp

config item;
item.name="bomb";
item.id="0";
item.price="100";
item.description="土制*,威力一般,但很便宜";
item_config.push_back(item);//添加进victor
char name=item_config[0].name;//取
是不是很方便?如果用数组+类 代码量就上去了 而且不用new 也不用->
访问元素的方法(cocos2d-x怎么用vector存struct结构体)
vec[i] - 访问索引值为 i 的元素引用。 (索引值从零起算,故第一个元素是vec[0]。)
vec.at(i) - 访问索引值为 i 的元素的引用,以 at() 访问会做数组边界检查,如果访问越界将会抛出一个例外,这是与operator[]的唯一差异。
vec.front() - 回传 vector 第一个元素的引用。
vec.back() - 回传 vector 最尾元素的引用。
新增或移除元素的方法
vec.push_back() - 新增元素至 vector 的尾端,必要时会进行存储器配置。
vec.pop_back() - 删除 vector 最尾端的元素。
vec.insert() - 插入一个或多个元素至 vector 内的任意位置。
vec.erase() - 删除 vector 中一个或多个元素。
vec.clear() - 清空所有元素。
取得长度/容量
vec.size() - 取得 vector 目前持有的元素个数。
vec.empty() - 如果 vector 内部为空,则传回 true 值。
vec.capacity() - 取得 vector 目前可容纳的最大元素个数。这个方法与存储器的配置有关,它通常只会增加,不会因为元素被删减而随之减少。
重新配置/重设长度
vec.reserve() - 如有必要,可改变 vector 的容量大小(配置更多的存储器)。在众多的 STL 实做,容量只能增加,不可以减少。
vec.resize() - 改变 vector 目前持有的元素个数。
迭代 (Iterator)
vec.begin() - 回传一个Iterator,它指向 vector 第一个元素。
vec.end() - 回传一个Iterator,它指向 vector 最尾端元素的下一个位置(请注意:它不是最末元素)。
vec.rbegin() - 回传一个反向Iterator,它指向 vector 最尾端元素的。
vec.rend() - 回传一个Iterator,它指向 vector 的第一个元素。

热心网友 时间:2022-04-12 12:54

ocos2d-x vector能使用结构体吗 vector可以存放自定义的结构体,方法有:放入这个结构体类
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...防御里的4个都开不起来 错误的代码是80020002 80010007 煎牛排用什么肉好 茄子怎么做比较好吃呢? English tabloid手抄报 English tabloid手抄报怎么画 邓小平“南方讲话”关于发展问题最著名的观点是( )。 电脑电源输出12V、5V的作用是什么? win10手机能玩电脑游戏win10系统的手机难道可以安装和电脑一样的软件... 如何设置才能做到只能通过远程桌面访问server2003 怎样解电脑开机密码?且要保住电脑资料,请各位高手赐教,谢谢! 糖友荟糖友荟简介 初中毕业,而且已经31岁了,还能申请出国留学吗? 海尔滚筒XQG50-B12866洗衣机门包装是否贴有一层塑料薄膜? 30岁还想出国留学是不是没可能了? 30多能还能出国留学或者工作么 三十岁左右还想出国留学深造,可行吗 30岁大龄海归想做雅思培训或者留学咨询有戏吗? 三十多岁了如果有条件你们还会选择出国留学么 30岁可以去国外留学吗 海尔洗衣机xqg100-b14876lu1快洗十五分钟洗几个小时洗不完,还要单按脱水 王漫妮30岁选择出国留学,到底值不值? XQG80一B14876LU1洗衣机是直驱变频洗衣机吗? 30岁了要不要辞职出国留学 30岁还可以出国留学吗 XQG100-B14876LU1全自动洗衣机为啥洗衣液冲不下去? 30岁如何申请出国留学 xqg120-b14876lu1显示FC1? 30多岁出国留学可行么? 30岁了能出国留学吗? 30岁以后想出国留学有哪些途径 人到了30岁去国外留学和定居还有希望吗? 为什么德国电焊工比我们工资高那么多 电焊工出国打工一年能挣多少钱? 电焊工出国劳务一般去哪些国家,相应的工资大概是多少 在德国电焊多少薪水 电焊工出国年薪多少万?去哪个国家比较好一些? 钢筋工焊工出国费用多少一个月能挣多少钱 电焊工工资哪个国家最高? 电焊工这个行业怎么样?工资有多少? 电焊工工资待遇如何,大概多少钱啊?我要去学电焊做船了,学会了一个月能有5000吗?我21岁做电焊对身 云南省太阳能路灯一年中什么季节使用最多 电焊工。工资多少。怎么样??? 昆明、云南哪里有集中卖太阳路灯、太阳能发电系统的? 云南千禧太阳能路灯有限公司怎么样? 江苏人在云南文山做太阳能路灯320823197105240751 丽江有做太阳能路灯工程的吗? 云南深山里的傈僳族村落是如何脱贫的? 云南恒燊能源科技开发有限公司怎么样? 农村庭院铺面包砖好还是烧结砖好 路面面包砖做法与图案 铺面包砖多少钱一平,一天能铺几平,