enum class c++11新增有作用域的枚举类型,看代码 不带作用域的枚举代码: enum AColor { kRed, kGreen, kBlue }; enum BColor { kWhite, kBlack, kYellow }; int main() { if (kRed == kWhite) { cout << "red == white" << endl; } return 0; } 如上代码,不带作用域的枚举类型可以自动转换成整形,且不同的枚举可以相互比较,代码中的红色居然可以和白色比较,这都是潜在的难以调试的bug,而这种完全可以通过有作用域的枚举来规避。 有作用域的枚举代码: enum class AColor { kRed, kGreen, kBlue }; enum class BColor { kWhite, kBlack, kYellow }; int main() { if (AColor::kRed == BColor::kWhite) { // 编译失败 cout << "red == white" << endl; } return 0; } 使用带有作用域的枚举类型后,对不同的枚举进行比较会导致编译失败,消除潜在bug,同时带作用域的枚举类型可以选择底层类型,默认是int,可以改成char等别的类型。 enum class AColor : char { kRed, kGreen, kBlue }; 我们平时编程过程中使用枚举,一定要使用有作用域的枚举取代传统的枚举。enum class用法
张小明
前端开发工程师
EHR+AI助手:远程办公模式下HR与IT的合规协同方案
摘要:随着数字经济的深度发展,远程办公已从应急选项升级为企业运营的战略配置,但其带来的跨地域用工、数据流转、流程管控等问题,对HR与IT部门的协同合规提出了严峻挑战。EHR系统作为人力资源数字化的核心载体,与AI助手…
《jQuery UI API 文档》
《jQuery UI API 文档》 引言 jQuery UI 是一个基于 jQuery 的用户界面库,它提供了丰富的交互组件和效果,帮助开发者快速构建出具有丰富交互体验的网页应用。本文档将详细介绍 jQuery UI 的 API,包括其组件、方法和事件,旨在帮助开发者更好地理解和运用 jQuery UI。 一、…
还在用 Figma 画饼?我用这个平台,把原型上线从 3 天压到 3 分钟
作为一名产品经理,我最怕听到的话就是“这个需求排满了,下周吧”。一个在会议上让所有人兴奋的灵感,在漫长的排期和等待中,逐渐变得平庸和乏味。我曾经以为,这是无法改变的宿命。直到我发现,原来我可以自己…
夸克网盘下载不限速_在线解析站
今天教大家一招能解决夸克网盘限制的在线工具。这个工具也是完全免费使用的。下面让大家看看我用这个工具的下载速度咋样。地址获取:放在这里了,可以直接获取 这个速度还是不错的把。对于平常不怎么下载的用户还是很友好的。下面开始今天的教学 输入我给…
当“同时发生”成为攻击武器
概述 (Overview) 假设我们正在测试一个在线购物 Web 应用程序的安全性。这时可能会引出许多问题:我们能否用一张 10 美元的礼品卡支付 100 美元的商品?我们能否多次在购物车中应用相同的折扣?答案是:可能!如果系统容易…