避免switch中未显式使用break警告
创作时间:
作者:
@小白创作中心
避免switch中未显式使用break警告
引用
CSDN
1.
https://blog.csdn.net/yifei99/article/details/140928510
在C和C++语言中,switch语句中的每个case标签通常会自动“贯穿”到下一个case标签,除非使用break语句显式终止。然而,有时候开发人员希望在不显式使用break的情况下,有意地允许程序继续执行下一个case标签中的代码。本文将介绍如何使用
fallthrough
宏定义来明确表达这种意图,并避免编译器产生由于未使用break而引起的警告。
fallthrough
宏定义是一个编译器特性,它用于在代码switch语句中标记“落入”(fallthrough
)行为。在C和C++语言中,switch
语句中的每个case
标签通常会自动“贯穿”到下一个case
标签,除非使用break
语句显式终止。然而,有时候开发人员希望在不显式使用break的情况下,有意地允许程序继续执行下一个case
标签中的代码。fallthrough
宏的定义允许开发人员在代码中明确指定这种意图。
//Linux kernel: include\linux\compiler_attributes.h
#if __has_attribute(__fallthrough__)
# define fallthrough __attribute__((__fallthrough__))
#else
# define fallthrough do {} while (0) /* fallthrough */
#endif
在给定的宏定义中,fallthrough也许是一个编译器特定的属性(attribute)(或者是一个注解(annotation)),该属性告诉编译器如果在switch语句中使用了fallthrough
宏,就不要发出“未显式使用break”的警告。这样开发人员能够明确表达他们的意图,并避免编译器产生由于未使用break而引起的警告。 使用fallthrough
宏定义,开发人员可以在switch语句的case标签之间使用注释,以表明有意的落入行为。例如:
switch (value) {
case 1:
// 执行一些操作
fallthrough;
case 2:
// 继续执行一些操作
break;
default:
// 执行其他操作
break;
}
热门推荐
网络文学打开阅读新可能
梦见被蛇咬有哪些寓意呢
唐宋春节黄金时代:盛世里的节日盛宴
春节溯源:夏商时期的岁时祭祀与新年庆典
“大树压门”非迷信:科学解读农村传统俗语
中医辨证有妙招,助您告别“不眠之夜”
离岸人民币涨跌双刃剑:从经济影响到个人应对指南
人民币汇率走强:美联储转向与中国政策利好共振
美元走强致人民币跌破7.3,专家预计中长期将企稳
离岸人民币市场双向流动加剧,套利交易规模创历史新高
短篇网文崛起:以创新叙事和反套路赢得读者
春节里的“张灯结彩”:传统习俗与文化传承
精选内容集|博物馆冰箱贴的创意与文化魅力解析
如何写出有特色的春节作文
婆婆不在的第一个春节:在哀思中寻找希望
被夸爆的10种“乔迁暖居礼”,实用又显贵,太会买了
可以送人招财猫吗?这3个细节必须注意!
揭秘汽车发动机耐久性测试:从标准到保养全解析
培养孩子良好的生活习惯:从小事做起
如何在工作和育儿之间达成平衡?
职业规划三大作用:助你认清自我、设定目标、应对变化
专家建议提高养老保险基金投资比例,释放6万亿资金潜力
周润发与43岁TVB花旦街头跑步,其人生故事令人动容
人到中年,跑,相当于救命
中年女性恋爱攻略:掌握“四主动”,收获幸福关系
专家解读:李白《静夜思》中的五大疑问
柚子与他汀类药物同食致肾衰,专家提醒:服药期间需谨慎食用
专家推荐:中药针灸四法并用,有效治疗肝气犯胃
冬季肝气犯胃怎么办?4种体质食疗调理法
青岛崂山南线交通攻略:自驾停车与公共交通详解