位置: 编程技术 - 正文

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

  • 会计新手如何学会收款流程
  • 购销合同印花税按70%
  • 以房抵债如何计算契税?
  • 其他权益性资产包括哪些
  • 固定资产残值账务处理
  • 已经认证的发票可以作废吗
  • 收回已转销的坏账在借方还是贷方
  • 普通发票申请表怎么填写
  • 长期股权投资的初始投资成本
  • 外购无形资产的相关税费包括增值税吗
  • 可抵扣的固定资产
  • 有留抵税额的会计处理
  • 委托销售怎么做分录
  • 个税手续费返还会计分录
  • 个人能在税务局交社保吗
  • 快递费开专票怎么入账
  • 小规模免税增值税申报表怎么填
  • 承兑汇票漏章证明怎么写?
  • 个税计算方法举例讲解
  • 索赔发票会计入账
  • 公司注销清算企业所得税申报表怎么填
  • 增值税专票可以重开吗
  • 挂靠车辆可以抵扣进项税么?
  • 政府购买缴纳社保吗
  • mac如何改变用户名
  • 收到借出款利息会计分录
  • 动态壁纸怎么设置锁屏
  • 销售房产营业税怎么算
  • 公司被收购后所需资金
  • 房地产土地使用税征收标准
  • php实现原理
  • 外单位承担
  • php找出字符串中出现最多的字母
  • 低代码框架开发
  • yolo s
  • 怎么把其他应收款的转到其他应付款
  • 印花税是根据什么申报的
  • 消费税增值税和个人所得税是什么意思
  • 计提的坏账准备计入什么科目
  • 怎么摊销租金
  • 经营范围技术服务技术开发技术咨询技术交流
  • 收入重复开票跨年了怎么处理
  • 发票上的抵扣联抵扣联是什么意思
  • 小规模增值税申报未开票收入怎么填
  • 停车费比油费还贵
  • 支出可以缴纳所得税吗
  • 无形资产按取得时的什么入账
  • 上年的原材料发票可以算今年的成本吗
  • 辅助生产车间的制造费用不通过制造费用核算
  • 应付利润科目
  • 股东股权转让印花税 公司承担
  • 开发票系统税号0和o怎么区别?
  • 坏账准备转回是什么意思
  • 印花税征税范围2021
  • mysql在查询结果中查询
  • sqlserver数据库和mysql区别
  • 数据库中的内容怎么换行
  • 了解的反义词
  • ubuntu系统无法安装中文
  • centos安装选择哪个
  • 电脑bios怎么设置usb启动
  • 2016年最火的歌曲排行前100首
  • dvd rom drive bbs priorities
  • Win7如何调整分辨率
  • windows10无法关闭
  • 深入理解javascript特性.pdf
  • 高效的python
  • perl处理特殊符号
  • qt搭建opencv
  • 第一章初见第二章决定
  • jquery下拉菜单插件
  • shell 字符操作
  • JavaScript驾驭网页-DOM
  • 常用的截图方法有哪些
  • 陕西省税务系统
  • 中通快递广东省内收费标准
  • 关注龙江医保
  • 计算本月应交消费税分录
  • 在国税局工作属于什么职业
  • 举报信如何投递
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设