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;
}
相关推荐
世转神风-3 分钟前
qt-kits-警告:No C++ compiler,无法正常解析工程项目.pro文件
开发语言·c++
王老师青少年编程12 分钟前
csp信奥赛C++标准模板库STL(12):C++ STL 中的 next_permutation详解
c++·stl·排列·标准模板库·csp·信奥赛·permutation
深盾科技1 小时前
融合C++与Python:兼顾开发效率与运行性能
java·c++·python
代码村新手1 小时前
C++-入门
开发语言·c++
神舟之光1 小时前
VSCode编译运行C/C++程序问题及解决方法
开发语言·c++
坐怀不乱杯魂1 小时前
C++ STL unordered_map/set 实现
开发语言·c++
hetao17338372 小时前
2025-12-21~22 hetao1733837的刷题笔记
c++·笔记·算法
呱呱巨基2 小时前
Linux 进程控制
linux·c++·笔记·学习
罗湖老棍子3 小时前
最小函数值(minval)(信息学奥赛一本通- P1370)
数据结构·c++·算法··优先队列·
肆悟先生3 小时前
3.17 内联函数
c++