C++(20):通过[[likely]]和[[unlikely]]优化编译switch

C++20可以通过[[likely]]和[[unlikely]]告诉编译器,绝大部分情况会进入哪个case,很少情况会进入哪个case,从而帮助编译器进行优化:

cpp 复制代码
#include <iostream>
using namespace std;

int f(int a)
{
	int ret = 0;
	switch(a)
	{
	[[likely]] case 0:
		break;
	[[unlikely]] case 1:
		ret = 1;
		break;
	}
	return ret;
}

int main()
{
    cout<<f(0)<<endl;
    return 0;
}
相关推荐
WW_千谷山4_sch33 分钟前
洛谷B3688:[语言月赛202212]旋转排列(新解法:deque双端队列)
数据结构·c++·算法
漂流瓶jz1 小时前
UVA-11214 守卫棋盘 题解答案代码 算法竞赛入门经典第二版
c++·算法·dfs·aoapc·算法竞赛入门经典·迭代加深搜索·八皇后
fpcc2 小时前
并行编程实战——CUDA编程的Enhancing Memory Allocation
c++·cuda
白太岁2 小时前
通信:(3) 高并发网络通信:epoll + 边沿触发 + 非阻塞 IO + tcp
c语言·网络·c++·网络协议·tcp/ip
楼田莉子3 小时前
C++项目:日志&&线程池
linux·c++·学习·visual studio code
tankeven3 小时前
HJ93 数组分组
c++·算法
汉克老师4 小时前
GESP2024年3月认证C++二级( 第一部分选择题(9-15))
c++·循环结构·分支结构·gesp二级·gesp2级
plus4s5 小时前
2月19日(85-87题)
c++·算法
白太岁5 小时前
Redis:(2) hiredis 使用、C++ 封装与连接池
c语言·c++·redis·缓存
Desirediscipline5 小时前
cerr << 是C++中用于输出错误信息的标准用法
java·前端·c++·算法