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;
}
相关推荐
buyue__22 分钟前
C++实现数据结构——链表
数据结构·c++·链表
weisonx39 分钟前
为什么要多写文章博客
java·c++
__Ryan1 小时前
BlueprintImplementableEvent和BlueprintNativeEvent
c++·ue5·unreal engine
明洞日记2 小时前
【VTK手册019】 深入理解 vtkProperty:从几何表达到 PBR 物理渲染
c++·图像处理·算法·vtk·图形渲染
汉克老师2 小时前
2025年海淀区中小学信息学竞赛复赛(小学组试题第六题 蜂窝网络 (net))
c++·贪心算法·北京海淀中小学信息学竞赛·lower_bound
xiaoye-duck2 小时前
C++入门基础指南:命名空间namespace
c++
4311媒体网2 小时前
php和c++哪个更好学?C++难学吗?
java·c++·php
修炼地2 小时前
代码随想录算法训练营第二十七天 | 56. 合并区间、738.单调递增的数字、968.监控二叉树
c++·算法
仰泳的熊猫2 小时前
1031 Hello World for U
数据结构·c++·算法·pat考试