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;
}
相关推荐
welfare96218 分钟前
新号别搞:c++类与对象
开发语言·c++
举手38 分钟前
Epoll模型
linux·c++·学习
Shadow(⊙o⊙)1 小时前
Linux网络部分——TCP服务端、客户端架构分析多进程、多线程、线程池
c++·tcp/ip·架构
zh路西法1 小时前
【3D SLAM源码解读系列】(四) GTSAM与iSAM2——从回环约束到位姿图优化
c++·slam·gtsam·pgo·isam2
01二进制代码漫游日记2 小时前
C++基础入门速通
java·开发语言·c++
tudousisi2222 小时前
二维费用01背包
c++
2601_956121972 小时前
高精度问题
c++
橙橙笔记2 小时前
C++的学习第三部分
开发语言·c++·学习
码匠许师傅10 小时前
【C++ 面试真题】聊聊 C++ 的移动语义与右值引用
java·c++·面试
小小龙学IT12 小时前
DuckDB 深度实战:用 C++ 在进程内跑一个「分析型数据库」
数据库·c++