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;
}
相关推荐
MSTcheng.2 分钟前
【C++】C++11新特性(三)
开发语言·c++·c++11
田野追逐星光10 分钟前
STL容器list的模拟实现
开发语言·c++·list
StandbyTime18 分钟前
《算法笔记》学习记录-第二章 C/C++快速入门
c++·算法笔记
我在人间贩卖青春24 分钟前
C++之结构体与类
c++··结构体
rainbow688926 分钟前
C++实现JSON Web计算器
c++
C++ 老炮儿的技术栈27 分钟前
Qt Creator中不写代如何设置 QLabel的颜色
c语言·开发语言·c++·qt·算法
知无不研29 分钟前
lambda表达式的原理和由来
java·开发语言·c++·lambda表达式
艾莉丝努力练剑31 分钟前
【Linux:文件】基础IO
linux·运维·c语言·c++·人工智能·io·文件
小龙报36 分钟前
【51单片机】深度解析 51 串口 UART:原理、配置、收发实现与工程化应用全总结
c语言·开发语言·c++·stm32·单片机·嵌入式硬件·51单片机
承渊政道38 分钟前
C++学习之旅【C++中模板进阶内容介绍】
c语言·c++·笔记·学习·visual studio