C++学习第八天----枚举

1.设置枚举量的值

        第一,使用赋值运算符显示地设置枚举量的值;

        第二,指定的值必须是整数,但可以只显示地定义其中一部分枚举量的值;

        第三,如果没有进行赋值,那么默认第一个枚举量的值是0;不管有没有给枚举量赋值,后面的枚举量比前面的枚举量大1;

        第四,可以创建多个值相等的枚举量;

        第五,早期版本只能将int值赋值给枚举量,后来这种限制取消了,可以使用long,甚至long long;

enum bits { one = 1, two = 2, four = 4};//这是第一的情况

enum bits { one, two = 20, four};//这是第二和第三的情况

enum bits { one , two = 0, four = 4};//这是第四的情况

2.枚举的取值范围

        以前对于枚举来说,只有声明过的枚举量是有效的;现在C++通过强制类型转换,使每个枚举都有了取值范围;

        取值范围的定义:

                上限:找出所定义的枚举量的最大值,找到大于这个最大值的,且最小的2的幂,然后减1,就是上限;

                下限:找出所定义的枚举量的最小值,如果它不小于0,那么下限就是0;如果小于0,则和上限一样,然后前面加个负号;

                例如:bits的上限就是8,下限就是0;

enum bits{ one = 1, two = 2, four = 4};

//假如这么定义
bits myflag;
myflag = bits(6);//这么赋值是允许的;

        最后提一嘴,作用域内枚举,可以自己去了解一下;

3.指针和自由存储空间

        指针是一个变量,其存储的是值的地址,而不是值本身;

        对变量应用地址运算符(&),就可以获得它的位置,叫做取地址;

code_c++/address.cpp · Kite/C和C++ - 码云 - 开源中国 (gitee.com)

显示地址时,使用十六进制表示法;

使用常规变量时,值是指定的量,而地址为派生量;

处理存储数据的新策略刚好相反,将地址视为指定的量,而将值视为派生量;

指针名表示的是地址,*运算符被称为间接值或解除引用运算符,将其应用于指针,可以得到该地址处的值;

可以参考一下下面这个代码,虽然是c语言的但是c++同样有参考价值;

对于指针的基础学习(定义,赋值……) · af43d37 · Kite/C和C++ - Gitee.com

你可能感兴趣的:(学习)