当前位置: 首页 > news >正文

网站的服务器怎么做的/哈尔滨网站优化流程

网站的服务器怎么做的,哈尔滨网站优化流程,做编程的网站一个月多少钱,网站维护服务项目文章目录参考描述枚举类型枚举类型枚举变量的声明及定义细节枚举常量的默认初始值枚举常量不可被修改赋值运算枚举常量与数据类型为枚举常量指定数据类型可选择的数据类型特殊的 Bool强枚举类型命名冲突强枚举类型参考 项目描述菜鸟教程C 枚举类型详解精通C (第九版…

文章目录

  • 参考
  • 描述
  • 枚举类型
      • 枚举类型
      • 枚举变量的声明及定义
      • 细节
          • 枚举常量的默认初始值
          • 枚举常量不可被修改
          • 赋值
          • 运算
  • 枚举常量与数据类型
      • 为枚举常量指定数据类型
      • 可选择的数据类型
          • 特殊的 Bool
  • 强枚举类型
      • 命名冲突
      • 强枚举类型

参考

项目描述
菜鸟教程C++ 枚举类型详解
精通C++ (第九版)托尼·加迪斯、朱迪·沃尔特斯、戈德弗雷·穆甘达 (著) / 黄刚 等 (译)
搜索引擎Bing

描述

项目描述
操作系统Windows 10 专业版(64位)
g++8.1.0

枚举类型

枚举类型

在 C++ 中,如果一个变量的可能取值为有限个时,你可以使用枚举类型对该变量进行声明。枚举类型是枚举常量的集合,枚举常量即是使用该枚举类型声明的枚举变量所能取得的值。枚举类型并不能为你提供太多的帮助,但能有效地提高程序的可读性及可靠性(安全性)。

  1. 可读性
    枚举常量均使用标识符指代常量(也称字面量,直接在程序中出现的数据),这比在程序中直接给出数据更具有可读性(见名知意)。

  2. 可靠性
    使用常量而不是变量(变量在初始化后能够更改,而常量在初始化后不可更改),可以有效防止数据被有意或无意的更改,提高程序的可靠性。

举个栗子

#include <iostream>
using namespace std;int main(){// 定义一个枚举类型 Weekenum Week{// 为枚举常量赋予初始值SUNDAY = 0,MONDAY = 1,TUESDAY = 2,WEDNESDAY = 3,THURSDAY = 4,FRIDAY = 5,SATURDAY = 6}; // 请注意此处的分号,若是缺少该分号,C++ 将抛出错误// 使用枚举类型 Week 定义一个枚举变量Week today;// 为枚举变量指定一个枚举常量today = SUNDAY;// 将 today 中保存的值输出到执行窗口中cout << today << endl;// 修改枚举变量的值today = WEDNESDAY;// 将 today 中保存的值输出到执行窗口中cout << today << endl;// 暂停执行窗口的执行system("pause");
}

执行结果

0
3
请按任意键继续. . .

其中:

  1. 枚举类型使用关键字 enum 进行定义。
  2. 枚举类型的名称建议使用大驼峰式命名法(也称帕斯卡命名法)进行命名,而使用枚举类型声明的枚举变量则建议使用小驼峰式命名法进行命名。

枚举变量的声明及定义

在声明枚举类型的同时,你可以声明一个或多个枚举变量。对此,请参考如下示例:

#include <iostream>
using namespace std;int main(){enum Week{SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY}today, tomorrow; today = WEDNESDAY;tomorrow = THURSDAY;cout << today << endl;cout << tomorrow << endl;system("pause");
}

执行结果

3
4
请按任意键继续. . .

除了在定义枚举类型的同时声明一个或多个枚举变量外,你还可以在这个过程中初始化枚举变量。对此,请参考如下示例:

#include <iostream>
using namespace std;int main(){enum Week{SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY}today, tomorrow; today = WEDNESDAY;tomorrow = THURSDAY;cout << today << endl;cout << tomorrow << endl;system("pause");
}

执行结果

3
4
请按任意键继续. . .

细节

枚举常量的默认初始值

在定义一个枚举类型时,你可以不为枚举常量赋予初始值。C++ 将依据枚举常量声明的顺序为每一个枚举常量赋予一个大于或等于 的整数。对此,请参考如下示例:

#include <iostream>
using namespace std;int main(){// 定义一个枚举类型 Weekenum Week{// 不为枚举常量赋予初始值SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY}; cout << "Sunday\t\t" << SUNDAY << endl;cout << "Monday\t\t" << MONDAY << endl;cout << "Tuesday\t\t" << TUESDAY << endl;cout << "Wednesday\t" << WEDNESDAY << endl;cout << "Thursday\t" << THURSDAY << endl;cout << "Friday\t\t" << FRIDAY << endl;cout << "Saturday\t" << SATURDAY << endl;system("pause");
}

执行结果

Sunday          0
Monday          1
Tuesday         2
Wednesday       3
Thursday        4
Friday          5
Saturday        6
请按任意键继续. . .

当然,你也可以仅对其中部分枚举常量赋予初始值。其它未被人为指定初始值的枚举常量将按照类似的规则由 C++ 赋予初始值。对此,请参考如下示例:

#include <iostream>
using namespace std;int main(){enum Week{SUNDAY, MONDAY = 9, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY}; cout << "Sunday\t\t" << SUNDAY << endl;cout << "Tuesday\t\t" << TUESDAY << endl;cout << "Wednesday\t" << WEDNESDAY << endl;system("pause");
}

执行效果

Sunday          0
Tuesday         10
Wednesday       11
请按任意键继续. . .
枚举常量不可被修改

在为枚举常量赋予初始值后,不可修改枚举常量的值。否则,C++ 将抛出错误。

赋值

虽然枚举常量在内存中是以整数的形式存储的,但你不能将整数直接赋予枚举变量。这将引发错误。例如,如下代码将抛出错误。

#include <iostream>
using namespace std;int main(){enum Week{SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY}; Week today = SUNDAY;cout << today << endl;// 下一行语句将引发错误Week tomorrow = 1;cout << tomorrow << endl;system("pause");
}

虽然,不能将整数直接赋予枚举变量,但你可以将枚举常量赋予整型等数据类型所声明的变量或常量。对此,请参考如下示例:

#include <iostream>
using namespace std;int main(){enum Week{SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY}; int num = WEDNESDAY;const float num_f = SATURDAY;cout << num << endl;cout << num_f << endl;system("pause");
}

执行效果

3
6
请按任意键继续. . .
运算

枚举常量能够与其它类型的常量(字面量)发生运算,但将结果赋予枚举变量前需要将结果值转换为枚举变量所属的枚举类型。对此,请参考如下示例:

#include <iostream>
using namespace std;int main(){enum Week{SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY}; // 枚举变量不可接收其它类型的数据。因此,我们需要// 将 SUNDAY + 8 的结果转换为 Week 类型的数据。// 否则,C++ 将抛出错误。Week freedom = (Week)(SUNDAY + 8);cout << freedom << endl;system("pause");
}

执行结果

8
请按任意键继续. . .

枚举常量与数据类型

枚举常量的默认数据类型为 int,我们可以通过如下示例对其加以验证:

#include <iostream>
using namespace std;int main(){enum Week{SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY}; // 输出枚举类型 Week 所占用的内存空间,即单个// 枚举产量所占用的内存空间。cout << sizeof(Week) << endl;system("pause");
}

执行结果

由输出结果可以判断出:
在默认情况下单个枚举常量所占用的内存空间为 四个字节,与整型 int 所占用的内存空间相同。

4
请按任意键继续. . .

为枚举常量指定数据类型

在定义枚举类型时,你可以使用符号 : 来指定枚举常量所使用的数据类型。比如,使用数据类型 char 作为枚举常量的数据类型。对此,请参考如下示例:

#include <iostream>
using namespace std;int main(){// 使用数据类型 char 作为枚举常量的数据类型 enum Week:char{SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY}; // 将枚举常量 TUESDAY 所保存的值输出到执行窗口中cout << TUESDAY << endl;// 将枚举类型 Week 所占用的内存空间输出到执行窗口中cout << sizeof(Week) << endl;system("pause");
}

执行结果

2
1
请按任意键继续. . .

可选择的数据类型

你可以选择使用如下数据类型作为枚举常量使用的数据类型:

  1. Bool(布尔型)
  2. Int(有符号型、无符号型)
  3. Short(有符号型、无符号型)
  4. Long Long(有符号型、无符号型)
  5. Long(有符号型、无符号型)
  6. Char(字符型)
特殊的 Bool

在将数据类型 Bool 作为枚举常量的数据类型时,需要注意以下两点:

  1. 枚举常量的值仅能为 01。否则,C++ 将抛出错误。
  2. 未被人为指定初始值的枚举常量最多为两个(超出两个的话,必有一个枚举常量将被赋予大于 1 的整数)。否则,C++ 将抛出错误。

强枚举类型

命名冲突

C++ 不允许相同作用域内的多个枚举量具有相同的名称,也就是说,在同一作用域内,即使是两个不同的枚举数据类型,也不能定义或使用相同的枚举量名称作为自己的成员。

由于该规则,以下代码在执行过程中将引发错误。

#include <iostream>
using namespace std;int main(){enum Week{SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY}; enum Weekend{// 在同一作用域中使用相同的名称作为// 枚举常量的标识符。SUNDAY, SATURDAY};system("pause");
}

倘若你在不同作用域中使用相同的名称作为枚举常量的标识符将不会引发错误。对此,请参考如下示例:

#include <iostream>
using namespace std;// 在不同作用域中使用相同的名称作为枚举常量的
// 标识符将不会引发错误。
enum Weekend
{SUNDAY, SATURDAY
};int main(){enum Week{SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY}; system("pause");
}

强枚举类型

C++ 11 版本中,官方添加了一个新的类型,即强枚举类型。通过强枚举类型,你将能够避免命名冲突的发生。对此,请参考如下示例:

#include <iostream>
using namespace std;int main(){// 定义强枚举类型 Weekenum class Week{SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY}; // 定义强枚举类型 Weekendenum class Weekend{SUNDAY, SATURDAY};// 使用作用域解析运算符 :: 指定枚举常量所在的作用域Week today = Week::FRIDAY;Weekend tomorrow = Weekend::SATURDAY;// 在将强枚举变量输出的执行窗口前需要先将其转换为 << // 运算符能够识别的数据类型。否则,C++ 将抛出错误。cout << "today\t\t" << (int)today << endl;cout << "tomorrow\t" << (int)tomorrow << endl;system("pause");
}

执行效果

today           5
tomorrow        1
请按任意键继续. . .

注:

强枚举类型仅被 C++ 11 及以上版本所支持。

http://www.ho-use.cn/article/693.html

相关文章:

  • 泰安网站建设推广优化/发布任务注册app推广的平台
  • 电子商务网站设计心得/关键词优化怎么操作
  • 网上兼职做网站/百度爱采购优化
  • 网站开发成本/国家市场监管总局
  • 怎么样建设一个电影网站/典型的口碑营销案例
  • 百度网站优化升上去/太原seo网络优化招聘网
  • 怎么在印度做网站/哪些网站是营销型网站
  • wordpress修改首页地址/厦门百度关键词优化
  • 怎么把自己做的网站发布出去/seo是什么服务
  • 网站建设推广技术/河北电子商务seo
  • 做的很好的网站/抖音优化排名
  • vue cdn做的网站/seo公司是什么意思
  • 企业网上品牌推广/百度seo点击排名优化
  • 婚纱摄影网站建设方案/网站运维
  • 做一个网站的价钱/seo综合查询爱站
  • 家具网站php源码/百度广告投放公司
  • 南澳房产网站建设/关键词查询爱站网
  • 去柬埔寨做网站是传销吗/今日热点新闻
  • 网站推广的具体方法/网络运营师
  • 我学我做我知道网站/百度手机助手网页
  • 类模板模板下载网站有哪些/自媒体怎么入门
  • 子网站建设工作/哪里做网络推广
  • 做雨棚的网站/游戏推广员一个月能赚多少
  • 响应式网站模板dede/关键词优化网站排名
  • 网站建设和谷歌优化/seo博客是什么意思
  • 精通网站建设 100%全能建站密码pdf/网站seo推广营销
  • axure怎么做响应式网站/网络销售话术900句
  • 网页端登录/惠州网站seo
  • 宜宾网站建设价格/如何制作网页教程
  • wordpress 爆破脚本/网站优化的方法与技巧