C++ Primer Plus 学习笔记 第四章 结构类型,共用体,枚举,指针
C++11的结构初始化可以不带等号
inflatable duck {"Daphne", 0.12, 9.98}
或者inflatable duck{} 这样各个成员被设置为0 不允许缩窄转换
共用体是结构体的变种 共享一个变量
枚举类:
枚举支持赋值表达式,但不支持算数表达式。也不支持int类型的数值直接赋值(包括long long long类之类的整数类)。
两个枚举类的相加会被先转换成int类型
但是不能相加后赋值给枚举。因为在相加的时候已经转换成int类型了。 而根据规则 非枚举类的数值不允许赋值给枚举类
这时候需要强转成枚举类 但是这样会有不确定的后果 比如超出枚举类长度的问题。
指针:
delete 释放的不是指针而是new分配的内存
释放数组是使用 delete [] arrayname