(1).先看概念
枚举类型(enumeration)是 C++ 中的一种派生数据类型,它是由用户定义的若干枚举常量的集合。
(2).基本语法表示
enum 枚举名{ 标识符[=整型常数], 标识符[=整型常数], ... 标识符[=整型常数] } 枚举变量;
定义一个:
enum fruit { apple, banana, pear, fig } product;
(3).上面的fruit和apple, banana,pear,fig以及product如何理解?
(3.1)首先fruit是一个数据类型,apple, banana,pear,fig是fruit数据类型的元素。
(3.2)product是一个变量,它是一个fruit类型的变量,如果你觉得比较难理解,你可以把上面的代码理解为下面的代码:
//先定义类型 enum fruit { apple, banana, pear, fig }; //再使用类型 fruit product;
我们应该描述product这个变量是fruit类型,不能去说product属于枚举类型
(4).enum的每个元素是有默认值的,例如上面的apple, banana,pear,fig元素的默认值分别为0,1,2,3
(5).enmu的每个元素虽然有默认值,但是支持自定义,例如
enum fruit { apple = 4, banana = 3, pear = 2, fig = 1 };
(6).enum的元素部分设置值,部分不设置值,编译时默认从0开始设置默认值,如果前面的元素已经设置值,后面的元素没有设置值会+1处理
enum fruit { apple, banana = 3, pear, fig1 };
例如上面的元素的常量值分别为:0,3,4,5
(7).枚举类型的元素只能以标识符形式表示,所以下面的写法都是瞎几把写,乱写,错误的写法
enum fruit {'a', 'b','c','d'}; enum fruit {100, 200,300,400};
(8).应用场景是可以代替const,普通变量使用枚举的元素的常量值的用法,输出了0和1。可以enum可以帮助我们创建常量
//定义枚举 enum fruit {apple,banana,pear,fig}; //普通变量使用枚举元素的常量值 int a = apple; //0 int b = banana; //1 //输出 std::cout << a << b << std::endl;
(9).enum代替const有什么好处呢?先看enum和const定义一个性别的代码:
//定义enum gender 表示性别:1男 2女 enum gender { male = 1, female = 2 }; //常量定义表示男女 const int _male = 1; const int _female = 2;
可以看到const定义的常量男和女你只能从字面去理解它们是关联的,但是enum看代码就知道都是属于gender性别的组,意味着给常量设置了组,方便管理。并且在开发中我们团队可以约束性别存储均统一使用已经定义好的enum类型
(10).enum会自动转换成int,例如
//enum enum gender { male = 1, female = 2 }; gender a = male; gender b = female; int c, d; c = a; // change to 1 d = b; // change to 2
(11).从int转换到enum
enum gender { male = 1, female = 2 }; int a = 1; a = gender(2);
c#中string和StringBuilder直接看看执行速度。(2).String类型累计赋值Test  ...
【一】.钩子文件的设置和创建(1).打开hooks目录,可以看到有一个post-commit.tmpl文件,这是一个模板文件。复制一份,重命名为post-commit,将其用户组设为www,并设置为可执行。chown www:www post-commitchmod +x post-commit(2...
1.全局用户信息设置 git config --global user.name gaojiufeng git config --global user.email 392223903...
在安装之前我们先看看官方给出的依赖关系.首先是dll文件和mongodb软件的依赖关系然后是PHP文件和dll的依赖关系我的是phpstudy的集成环境PHP5.4.45 NTS+Apache+Mysql【一】.安装mongodb3.0软件对比依赖关系下载mongodb3.0.msi软件,完整名称:...
Application 对象用于存储和访问来自任意页面的变量,类似 Session 对象。不同之处在于所有的用户分享一个 Application 对象,而 session 对象和用户的关系是一一对应的。很多的书籍中介绍的Application对象都喜欢以统计在线人数来介绍Application 对象...
1.远程仓库的协作模式开发者把自己最新的版本推到线上仓库,同时把线上仓库的最新代码,拉到自己本地即可2.注册git帐号国外: http://www.github.com国内: http://git.oschina.net2.在码云创建项目,不要初始化readmegit push https://gi...