位置: 编程技术 - 正文

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

  • 税务师考试考几门几年考完
  • 免 抵 退
  • 购买工业用地税费
  • 所得税申报表填写样本
  • 新领的发票怎么导入uk开票系统
  • 黄金以旧换新怎么算费用
  • 变更法人流程具体流程图
  • 专项产资金支出要怎么做分录?
  • 子公司向母公司借款
  • 补税款的分录应该怎么写
  • 税控技术服务费计入什么科目
  • 支付境外销售佣金增值税扣缴
  • 企业增值税不可以跨月交吗
  • 淘宝开企业店铺需要什么资料
  • 小规模附加税减免政策2023
  • 出口运保佣账务处理
  • 工厂新增项目需要立项、环境评价
  • 在win7系统中如何让电脑恢复出厂设置方法
  • 出租的厂房房产税谁交
  • php 字符串函数
  • 进货返利会计分录
  • 汇票到期收到款项会计分录
  • PHP:ftp_delete()的用法_FTP函数
  • 出售报废的边角料收入会计分录
  • 良心推荐博主
  • php数据库语句
  • 工程竣工决算会计账务处理
  • 材料外加工会计分录
  • thinkphp config
  • 留抵税额进项构成比例
  • php curl file_get_contents
  • 备用金支出没有发票怎么办
  • vue中v-model
  • php执行流程
  • 未开票收入如何申报
  • 员工旅游是什么意思
  • 库存现金账务处理案例
  • php curl_multi_init
  • 【Vue】踩坑日记:Scoped下动画无效,曾经以为百利而无一害的Scoped,也有自己的限制
  • 使用session的步骤
  • thinkphpgui
  • php 方括号
  • 一般纳税人和小微企业的区别
  • nor命令
  • 公司请的临时工
  • 事业单位用其他资金用于还单位贷款违法吗
  • 费用性税金包括增值税吗
  • 国债利息属于免税吗
  • 购车费用怎么进行账务会计处理
  • 自产农产品加工成产品销售怎么抵扣
  • 抵账的房子怎么办理房产证
  • 销售给回扣的话术
  • 预付账款写到什么凭证
  • 公司清算后能不能转让
  • 认证未抵扣往哪里记
  • 进项税额转出最终应转到哪里
  • 股东不能参与公司运营和决策,可以起诉吗
  • 应付账款是已经付了还是没付
  • 低值易耗品与固废的区别
  • 利息收入核算什么科目
  • sqlserver数据库备份
  • 返回sql执行时间的方法
  • win7系统旗舰版和纯净版的区别
  • 商用计算机英文
  • CentOS中httpd源代码安装与测试步骤分享
  • 更新版本
  • Linux环境下MySQL服务器优化的方法详解
  • MacOS X Yosemite升级后postgresql启动报错的解决办法
  • ubuntu系统怎么安装python
  • 获取windows的最新信息
  • win8无法关机一直转圈
  • 什么是四个菜
  • win10 累积更新
  • 好好了解 英文
  • 创建表格在哪里找
  • css浏览器兼容性问题
  • unity 求角度
  • 字符串中指定字符变换
  • 中国最早和谁签订自由贸易
  • 农民专业合作社章程完整版
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设