cocos2d pod_【Cocos2d-x游戏开发】细数Cocos2d-x开发中那些常用的C++11知识

本文介绍了Cocos2d-x3.0及以后版本中使用C++11带来的便利,包括初始化列表、自动类型推导、自动范围推导、智能指针、空指针nullptr以及Lambda表达式的应用。这些特性简化了代码,提高了可读性和可维护性。
摘要由CSDN通过智能技术生成

自从Cocos2d-x3.0开始,Cocos2dx就正式的使用了C++11标准.C++11简洁方便的特性使程序的可拓展性和可维护性大大提高,也提高了代码的书写速度。

下面我们就来一起学习一下Cocos2d-x开发中那些不得不了解的C++11知识。

1.初始化列表

POD结构或者数组根据成员在结构内定义的顺序,可以使用初始化列表来进行初始化以简化代码。

structStructA{inta;intb;

};

StructA sa={1,2};

在C++03中,非POD结构的类或者STL容器并不支持这种简便的写法,而C++11提供了强大的支持。使用std::initializer_list可以让类和普通函数使用初始化列表,并且STL容器也是可以使用初始化列表,代码如下:

//类使用初始化列表

classClassA{public:

ClassA(std::initializer_listlist){}

};

ClassA a= { 1, 2, 3};/*注意!使用std::initializer_list需要先include 头文件*/

//函数使用初始化列表

void func(std::initializer_listlist){/*Function Body*/}

func({1.6f,2.8f});/*注意!使用std::initializer_list需要先include 头文件*/

//STL标准容器使用初始化列表

vector s = {"hello","C++","11"};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值