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;
}
相关推荐
lclin_20204 小时前
VS2010兼容|C++系统全能监控工具(彩色界面+日志带单位+完整版)
c++·windows·系统监控·vs2010·编程实战
paeamecium7 小时前
【PAT甲级真题】- Cars on Campus (30)
数据结构·c++·算法·pat考试·pat
UrSpecial7 小时前
从零实现C++轻量线程池
c++·线程池
chh5637 小时前
C++--模版初阶
c语言·开发语言·c++·学习·算法
会编程的土豆9 小时前
01背包与完全背包详解
开发语言·数据结构·c++·算法
hetao17338379 小时前
2026-04-12~14 hetao1733837 的刷题记录
c++·算法
智者知已应修善业10 小时前
【51单片机4位数循环小数位移数值位移】2023-6-9
c++·经验分享·笔记·算法·51单片机
王璐WL10 小时前
【C++】string,vector和list对比
c++·list
不爱吃炸鸡柳11 小时前
算法复杂度从入门到精通:时间与空间复杂度全解析
开发语言·c++·算法
拳里剑气11 小时前
C++算法:二分查找
c++·算法·二分查找·学习方法