避免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;
}
热门推荐
活珠子:营养价值与安全食用全攻略
四大名楼因诗文而名:鹳雀、黄鹤、滕王、岳阳的文化传奇
从“白日依山尽”到“更上一层楼”:解读王之涣名作
从选地到采收:一文掌握黄芪家庭种植要点
张锡纯创新运用黄芪:创制升陷汤,开后世临床应用新篇
德国工业标准推荐:不锈钢游标卡尺
从选地到采收:一文掌握沙姜种植与病害防治
沙姜:从止咳化痰到调味提鲜,一味岭南养生佳品
沙姜:泰式料理中的关键香料,去腥增香提升风味
碧桂园收上交所通报批评,杨惠妍五招稳市场信心
汉堡、养生餐、妈妈牌美食:揭秘明星剧组饮食
糖尿病尿液特征,你知道多少?
美白产品中的天然成分有何功效?如何正确选择?
李自成帐下的智勇双全:李岩的崛起与悲剧结局
咖啡洒衣怎么办?专家教你神奇清洁法!
花旗参不止能泡水:5种创意食谱让养生更美味
过量饮食危害大,营养过剩伤身
西洋参与花旗参:功效差异及使用方法详解
最新研究:西洋参活性成分直接抑制肿瘤细胞生长
西洋参、花旗参:功效差异与适用人群详解
2024年春晚节目单新鲜出炉!四大分会场+豪华阵容,总有一款打动你
海上丝路重要节点,钦州老街展现千年商贸繁华
国家奖学金翻倍至1万元!如何高效申请?
橄榄油选购秘籍:从感官特征到认证标志,教你挑选高品质橄榄油
孕妇饮用优益C指南:5大益处与4项注意事项
孕期饮品安全指南:推荐与禁忌一文全知
上海餐饮业营收下滑,政企协三方联动助企纾困
太原龙山石窟:65尊元代造像填补中国石窟艺术空白
生成式AI冲击创意产业:英国有三分之一翻译人员失业
“AI超感界”:当算法遇见艺术,15位艺术家的跨界实验