避免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;
}
热门推荐
高三寒假如何高效备考?哈六中历史老师:析真题,明方向,说方法,增实效
年轻人情感共鸣需求增加 春节期间"情绪消费"成趋势
在项目沟通中如何保持一致和连贯性
河北常住人口由长期净流出转变为净流入
Windows 10系统取消开机密码和锁屏密码的详细步骤
古代打仗必先列阵,这些阵法是怎么组成的,真的能以少胜多吗?
人物与动物亲密接触:从文学到营销的多维解读
泡温泉十大必备用品:从泳装到保健眼药水,让你的温泉之旅更舒适
黄金ETF趋势分析的关键因素有哪些?这些因素如何影响投资者决策?
动物角色的奇幻冒险:从荧幕到《动物王者》的游戏世界
飞机的头等舱为什么这么贵?到底能否值回票价
同样的芯片在手机上和平板上有区别吗?
取保候审究竟是否可以判缓刑
货币基金的收益来源是什么?如何选择收益较高的货币基金?
研发文件如何管理
历史上的那些神驹,你知道有哪些?
非遗版春节:庙会上体验中国年
高空、洞穴、隧道...这10部绝境求生电影,实在太过刺激!
铅酸电瓶怎样进行维修?维修铅酸电瓶有哪些方法?
唐人的“以胖为美”
肋痛肝问题,左肋右肋病因大不同:左痛肝郁右痛邪入肺,用药各异
央视频首部原创微短剧《东坡先生赶考记》上线!邀您共赴一场穿越时空的奇妙邂逅
用C语言如何构造二叉树
2025年税务师考试各科目不同题型的答题技巧分析!建议收藏
清代收集神鬼异事的老人—蒲松龄在《聊斋志异》中讲述的人生哲理
男士手串颜色搭配指南:如何选择最适合个人风格的手串颜色
多家医院被点名:已被大数据盯上,今年追回医保160亿
孩子多大要戒除夜奶?最好不要超过这个时间
报表工具如何嵌入ERP系统,实现财务数据自动化报告?
累了就好好休息:尊重身体的信号