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;
}
相关推荐
寻寻觅觅☆7 分钟前
东华OJ-基础题-122-循环数(C++)-难度难
开发语言·c++
王老师青少年编程10 分钟前
2022年信奥赛C++提高组csp-s初赛真题及答案解析(完善程序第2题)
c++·题解·真题·初赛·信奥赛·csp-s·提高组
plus4s34 分钟前
2月13日(73-75题)
数据结构·c++·算法
你的冰西瓜1 小时前
C++ STL算法——修改序列算法
开发语言·c++·算法·stl
仰泳的熊猫1 小时前
题目1465:蓝桥杯基础练习VIP-回形取数
数据结构·c++·算法·蓝桥杯
俩娃妈教编程1 小时前
洛谷选题:P1307 [NOIP 2011 普及组] 数字反转
c++·算法
枫叶丹41 小时前
【Qt开发】Qt界面优化(三)-> Qt样式表(QSS) 设置方式
c语言·开发语言·c++·qt·系统架构
紫陌涵光2 小时前
54. 替换数字(第八期模拟笔试)
数据结构·c++·算法
C++ 老炮儿的技术栈2 小时前
万物皆文件:Linux 抽象哲学的开发之美
c语言·开发语言·c++·qt·算法
柏木乃一2 小时前
Linux进程信号(1):信号概述,信号产生part 1
linux·运维·服务器·c++·信号·signal