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;
}
相关推荐
S_WEAN9 分钟前
【C++】STL - string类
c++
码匠许师傅31 分钟前
【C++三方组件】toml++:人性化的配置文件格式
c++
骑着蜗牛撵大象3272 小时前
告别内存泄漏:LLMManager架构设计与智能指针在AI SDK中的智慧选型
c++·ai·架构
汉克老师2 小时前
CSP-J 2026 初赛试题解析(第二部分:阅读程序题(第一题))精讲
c++·csp-j·小学生·学c++编程
syagain_zsx3 小时前
算法基础篇 · 04 前缀和(C++ 题解)
c++·算法·前缀和
汉克老师4 小时前
CSP-J 2026 初赛试题解析(第三部分:完善程序题(第一题))精讲
c++·csp-j·小学生·学c++编程
haluhalu.4 小时前
初识 Protobuf:微服务跨语言通信的一份契约
java·c语言·开发语言·c++·python
longxuan014 小时前
倍增算法详解
c++·st表·倍增算法
-森屿安年-5 小时前
返回最大数
c++·贪心算法