union
{
unsigned char byteVal;
int intVal;
float floatVal;
// double doubleVal;
bool boolVal;
std::string* strVal;
ValueVector* vectorVal;
ValueMap* mapVal;
ValueMapIntKey* intKeyMapVal;
}_field;
Type _type;
代码如上,如果吧double去掉的话,在移动设备上,内存占用会从16变成8,等于减少一半,还是差别很大的,而且double根本就不常用~