- 版本: v3.0 beta
- 语言: C++
定义在 “COCOS2DX_ROOT/cocos/base” 路径下的 " CCValue.h " 的头文件中。
1
|
class
Value;
|
你可以把所有上面的提及的原生类型放入 cocos2d::Value 对象中,然后将它们转化为对应的原生类型,反之亦然。
在内部,cocos2d::Value 使用了一个联合变量来保存各种原生类型,这样可以节省很多的内存空间。
在 Cocos2d-x v3.0 beta 之前,存在着一些原生类型的封装类,如 CCBool,CCFloat,CCDouble,CCinteger,这些将会被弃用。
注意: 当你在处理原生类型和容器的时候,请使用 cocos2d::Vector<T>,cocos2d::Map<K,V> 和 cocos2d::Value。
2.内存管理
cocos2d::Value 的内存是由它自己的析构函数自动处理的。所以当处理 cocos2d::Value 的内存时请坚持以 c++ 内存管理规则进行最佳实践。
cocos2d::Value 类包含了以下的数据成员:
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
unsigned
char
byteVal;
int
intVal;
float
floatVal;
double
doubleVal;
bool
boolVal;
}_baseData;
std::string _strData;
ValueVector* _vectorData;
ValueMap* _mapData;
ValueMapIntKey* _intKeyMapData;
Type _type;