位置: 编程技术 - 正文

cocos2d::Vector

编辑:rootadmin
v3.0 beta加入

推荐整理分享cocos2d::Vector,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

定义在"COCOS2DX_ROOT/cocos/base"的"CCVector.h"头文件中。

cocos2d::Vector<T>是一个封装好的能动态增长顺序访问的容器。 cocos2d::Vector<T>中的元素是按序存取的,它的低层实现数据结构是标准模版库中的标准顺序容器std::vector。 在Cocos2d-x v3.0 beta之前,使用的是另外一个顺序访问容器cocos2d::CCArray,不过它将会被废弃。 设计者们将cocos2d::Vector<T>设计为cocos2d::CCArray的替代品,所以建议优先考虑使用cocos2d::Vector<T>。 cocos2d::Vector<T>的一些操作的时间复杂度如下:

随机访问,O(1)将元素插入到尾部或者删除尾部的元素,O(1)随机插入或删除, O(n)模版参数

T - 元素类型

T的类型必须是继承自cocos2d::Object类型的指针。因为已经将Cocos2d-x的内存管理模型集成到了cocos2d::Vector<T>中,所以类型参数不能是其他的类型包括基本类型。内存管理cocos2d::Vector

cocos2d::Vector<T>类只包含一个成员数据:

_data的内存管理是由编译器自动处理的,如果声明了一个cocos2d::Vector<T>类型,就不必费心去释放内存。 注意:使用现代的c&#;&#;,本地存储对象比堆存储对象好。所以请不要用new操作来申请cocos2d::Vector<T>的堆对象,请使用栈对象。 如果真心想动态分配堆cocos2d::Vector<T>,请将原始指针用智能指针来覆盖。 警告:cocos2d::Vector<T>并不是cocos2d::Object的子类,所以不要像使用其他cocos2d类一样来用retain/release和引用计数内存管理。

基本用法

作者们用std::vector<T>的基本操作加上Cocos2d-x的内存管理规则来覆盖该模版原先的普通操作。 所以pushBack()操作将会保留传递过来的参数,而popBack()则会释放掉容器中最后的一个元素。 当你使用这些操作的时候,你需要特别注意这些受托管的对象,对于新手来说,这往往是陷阱。 警告:cocos2d::Vector<T>并没有重载[]操作,所以不能直接用下标[i]来获取第i位元素。cocos2d::Vector<T>提供了不同类型的迭代器,所以我们可以受益于c&#;&#;的标准函数库,我们可以使用大量标准泛型算法和for_each循环。 除了std::vector容器的操作之外,开发者们还加入许多标准算法诸如:std::find, std::reverse和std::swap,这些算法可以简化很多通用的操作。 要了解更多的api用例,可以参考Cocos2d-x 3.0beta的源码和压缩包里附带的例子。 下面是一些简单的例子:

输出:

最佳做法考虑基于栈的cocos2d::Vector<T>优先用于基于堆的当将cocos2d::Vector<T>作为参数传递时,将它声明成常量引用:const cocos2d::Vector<T>&返回&#;是cocos2d::Vector<T>时,直接返回&#;,这种情况下编译器会优化成移动操作。不要用任何没有继承cocos2d::Object的类型作为cocos2d::Vector<T>的数据类型。

eclipse cocos2dx Couldn&#;t load cocos2dcpp from loader -::.:E/AndroidRuntime():java.lang.ExceptionInInitializerError-::.:E/AndroidRuntime():atjava.lang.Class.newInstanceImpl(NativeMethod)-::.:E/AndroidRunti

cocos code ide 1.0.0 RC0 使用教程 本文转自:

cocos2dx3.x利用sokcet创建客户端和服务端 (三) 客户端:连接服务端boolconnectServer(constchar*serverIP,unsignedshortport);向服务端发送消息voidsendMessage(constchar*data,intcount);接受服务端数据的回调函数std::functionvoi

标签: cocos2d::Vector

本文链接地址:https://www.jiuchutong.com/biancheng/372588.html 转载请保留说明!

上一篇:perl数据库添加、删除、更新、查询操作例子(perl 获取数据库查询结果)

下一篇:eclipse cocos2dx Couldn't load cocos2dcpp from loader

  • 研发销售型企业
  • 补交印花税怎么做账
  • 企业持股分红
  • 用友t3软件的系统内没有利润表模块
  • 公司的个人所得税是多少
  • 长期待摊费用摊销年限规定
  • 小企业商品销售的入账价格
  • 营改增后怎么计算税费
  • 收到费用报销发票怎么做
  • 公司成立筹备工作小组主要任务是什么
  • 企业购进货物发生的下列相关税费中,应计入货物
  • 全额拨款事业单位企业所得税
  • 食品发票需要清关吗
  • 2021年路桥费抵扣最新政策
  • 收购发票税率是什么意思
  • 申请增值税一般纳税人登记在办理手续
  • 其他应收款借方表示增加吗
  • 对方公司破产债务怎么办
  • 净利润与毛利润那个会大一点
  • 异地项目预缴个人所得税
  • 应收及预付款项包括( )
  • 收到汇票怎么承兑
  • 华为nova9值得买吗知乎
  • macbook怎么修改默认系统
  • u启动u盘怎么装系统
  • Win11 Build 22000.65更新体验:汉化更完善,右下角返回桌面回归
  • pdv文件什么意思
  • PHP:pg_lo_seek()的用法_PostgreSQL函数
  • 一叶兰的养殖方法和注意事项有哪些
  • 工程资金占用费的法律依据
  • 企业所得税核定征收方法
  • 土地抵减销项税 土地增值税
  • 水利建设基金计税依据
  • 收到电子退库如何入账
  • php中常量
  • HTTP Tunneling (HTTP Proxy Socket Client)
  • 红字发票抵扣联要装订到凭证里吗
  • 会计信息不采集有什么后果
  • mongodb import
  • 技术服务收入属于什么收入
  • 工资总额借方和贷方的区别
  • 利润分配会计处理例题
  • 陈列费计入什么科目
  • 公对公转账货款是指往来款吗
  • 资产的计税基础通俗理解
  • 增值税发票开错冲红重开如何做会计分录?
  • 收到政府补贴如何做帐
  • 施工企业项目部管理人员对外行为的法律后果由谁承担
  • 技术开发技术服务属于什么行业
  • 公司加班的餐费怎么算
  • 增值税抵扣可以完全抵扣吗
  • 开出普票会计分录
  • 实收资本的主要用途
  • 存货跌价准备冲减成本
  • 预提业务
  • sqlmd5加密后解密
  • win10电脑版微信字体大小怎么设置方法
  • win10系统无法更改
  • redhat下载教程
  • mysql如何建立数据完整性约束
  • 2016年首个国家安全教育日
  • javascript解析器
  • javascript运用
  • android 数据库app
  • [置顶] rwmfqg
  • python中myf
  • cocos2dx3.3 便条提示语功能简单实现
  • easyui datagrid loader
  • 全国哀悼日的意义
  • javascript的判断语句
  • 简单使用23 款华为s E可以吗
  • javascript的
  • 超详细的卡拉赞攻略
  • jquery.js插件
  • jquery插件大全
  • 网上交购置税怎么拿完税证明
  • 北京增值税普通发票图片
  • 灯具维修发票明细
  • 广西电子税务局电话人工客服电话
  • 农民工12000要交多少个人所得税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设