Cocos2dx3.2学习准备(一):C++11新特性
来源:互联网 发布:阿里云登录界面 编辑:程序博客网 时间:2024/06/16 03:22
Cocos2dx是用C++11编写的,由于之前工作中并没有用到这部分。这里对C++11新特性在Cocos2dx中使用较多的地方做一下归纳。
C++11FAQ:http://www.stroustrup.com/C++11FAQ.html
一、新的关键字及语法
nullptr:用来代替NULL,nullptr是强类型,防止出现一些二义性
auto:根据上下文自动类型推导,(在使用STL时非常方便), (decltype与此相反,从变量或表达式中获取类型)
override:派生类重写基类的虚函数时,在函数的声明中加上override(非必须), 这样可在编译时检测出对基类函数的错误重写
final:可用来修饰基类的虚函数,表示该函数不可被派生类重写即override
range for:只要定义了begin(), end()即有iterator
lambad表达式:主要应用时标书某些具有简单行为的函数,(cocos2dxz中常用)
二、标准库
1.std::function与std::bind
std::function :可以定义类似函数指针的类型
std:bind:可以方便的绑定类的成员函数
这个常在cocos2dx中的回调函数中使用
2.std::thread
Cocos2dx引擎的核心仍然是一个单线程的死循环(UI线程),在处理一些比较耗时的工作,如网络通信,纹理资源,音视频资源等,为防止界面出现卡顿,最好还是另开线程(Worker线程)。而在3.2的版本中并未发现pthread的支持,原来是C++11的标准库中已经有了std::thread。下面给出一个简单示例:
C++11中还有很多其他的新特性,如右值引用与move语义,std::move,无序容器(unordered_map...), 初始化列表等;想更深入的了解请查看c++11FAQ
如有错误欢迎指出,希望与Cocos2dx爱好者们多多交流
原文转载自:http://blog.csdn.net/ls1122/article/details/38339851
阅读全文
0 0
- Cocos2dx3.2学习准备(一):C++11新特性
- Cocos2dx3.2学习准备(一):C++11新特性
- C#: VS2008的新特性(一)
- cocos2dx3.2与2.3的区别和3.2中C++11新特性的应用
- C++11新特性学习笔记(一)
- ES6新特性学习(一)
- Cocos2dx3.2学习准备(二):游戏开发中的一些基本概念
- C+11 新特性
- C++11新特性(一)
- Kubernetes1.2新特性分析(一)
- Oracle 数据库12c新特性总结(一)
- Oracle 数据库12c新特性总结(一)
- Framework3.0学习笔记(一): 新特性(1)
- Java8新特性学习(一)Lambda表达式介绍
- C++11 新特性<一>
- Spring4.2新特性(一)
- 1.5新特性(一)
- vs 新特性(一)
- 人脸检测项目实战--理论篇
- 线段树模板(点修改)
- 测鬼记(上)——回岗(十)
- 304不锈钢缸筒毛坯Halcon测量效果
- 6.5OpenCV漫水填充
- Cocos2dx3.2学习准备(一):C++11新特性
- myeclipse2014破解步骤
- java.lang.IllegalStateException: Cannot create a session after the response has been committed
- bzoj 3462: DZY Loves Math II 动态规划+组合数
- 测鬼记(上)——胜出(十一)
- 安卓学习导图
- 指针数组 数组指针 指针函数 函数指针
- SharePoint REST API
- 删除快捷键的箭头