C++新特性---属性说明符与标准属性

属性说明符

\[...\]

标准属性*5

对编译的汇编代码产生影响

\[noreturn] ---不返回

告诉编译器和程序员,这个函数被调用后,执行流不会返回给调用者。

\[deprecated] ---已弃用

// 已弃用

标记"已弃用"。声明某个实体(函数、类、变量)已经过时,但仍可使用。使用时会触发编译警告,提醒开发者迁移。

cpp 复制代码
[[deprecated("该函数已弃用,请使用XXX")]]

\[nodiscard] ---强制检查返回值

// 不可丢弃

如果调用者忽略了被此属性标记的函数的返回值,编译器会发出警告。

\[maybe_unused] ---可能未使用

//

告诉编译器"这个变量、函数或参数可能用不到,别警告我"。

\[fallthrough] ---贯穿

// 贯穿

用在 switch 语句中,明确告诉编译器某个 case 不写 break 是有意为之,避免警告。

cpp 复制代码
void fun(int a){
	switch(a){
		case 1: 
			break;
		case 2:
			f1();
			 [[fallthrough]]
		case 3:
			f2();
		default:
			break;
	}
}
相关推荐
Keven_1111 分钟前
算法札记:ACM适用的很骚的C++语法(持续更新)
开发语言·c++
mengzhi啊31 分钟前
QPluginLoader 动态 DLL 插件版,支持插件之间通信,广播。请求和应答
c++·qt
脉动数据行情143 分钟前
C# 实现德指 DAX 期货 WebSocket 实时行情监听
开发语言·websocket·c#
大圣编蚕1 小时前
Java ByteArrayInputStream 详解:从入门到实战
java·开发语言·算法
菜鸟~noob2331 小时前
【电子战】第02篇:能量检测器 vs. 相关检测器【含matlab代码】
开发语言·matlab
OpenAnolis小助手2 小时前
一句话看透 JVM,SysOM 诊断 Skill 新增 Java 应用诊断能力
java·开发语言·jvm·阿里云·操作系统控制台·sysom
小玮看世界2 小时前
[Python]OD算法在OD实际运用转化参考清单
开发语言·python·算法
ForteScarlet3 小时前
Kotlin 2.4.20 现已发布,新特性多不多?
android·java·开发语言·开源·kotlin·jetbrains
萧瑟余晖3 小时前
Java深入解析篇六十二之安全机制详解
java·开发语言
老赵的博客3 小时前
c++ QT之动态库加载问题
c++·qt