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;
	}
}
相关推荐
噢,我明白了11 分钟前
JAVA中的一些基础应用知识点
java·开发语言
时间的拾荒人1 小时前
Redis 入门详解:核心特性、重要文件与全局命令实战
开发语言·redis·面试
敲上瘾1 小时前
Qt Widgets入门:项目模板解析与Hello World
开发语言·数据库·c++·qt·ui·qt6.3
码途行者3 小时前
网站的SQL 注入:从攻击原理到防御措施
开发语言·sql·php
旖旎夜光3 小时前
【C++ 基础入门】C++ 多态(中):虚函数表、多态原理与动静绑定
开发语言·c++·笔记·学习
你看我名字3 小时前
产品参数昨天还对,今天已过期:数眼智能与大模型应用如何做资料版本校验
开发语言·架构
老秦包你会4 小时前
计算机网络第二课 ----Socket(套接字)编程预备
开发语言·计算机网络·php
旖旎夜光4 小时前
【C++ 基础入门】C++多态(下):单/多继承虚表、多态补充与 21 道高频题
开发语言·c++·笔记·学习
Wang's Blog13 小时前
Java 项目实战: 交友项目 - FastDFS:入门案例
java·开发语言·交友
apcipot_rain14 小时前
C++转Java日记(03)
java·开发语言·c++