标签:struct char 声明 对象 c++ 编译 对象数组 编译器 语言
1. struct默认是public,class默认是private。
2.位域:
struct Time
{
unsigned int a : 1;
unsigned int b : 2;
};
C语言的位域只能是int,unsigned int,signed int等类型,C++允许char,long等类型,不允许指针或浮点类型作为位域成员,signed int 正负符号要占用一位,位域长度至少为2。不能取数据成员的地址,因为地址至少是字节。
3.类的成员都是按声明顺序存放的,和private,pubulic,protected无关,按照声明的顺序从低地址到高地址存放。
4.数据成员对齐:
1)编译器考虑类型大小时,不仅要考虑对象的对齐要求,还要考虑该类型对象数组的对齐要求,因此会在末尾填充字节。
标签:struct char 声明 对象 c++ 编译 对象数组 编译器 语言
原文地址:http://www.cnblogs.com/liaoyiwang/p/7518270.html