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;
}
相关推荐
欧特克_Glodon7 小时前
C++医学图像处理经典ITK库用法详解<一>:图像输入输出模块功能
c++·图像处理·itk
一个不知名程序员www8 小时前
算法学习入门---priority_queue(C++)
c++·算法
Pafey9 小时前
C++的左值引用、右值引用以及转发和完美转发
c++
CoderCodingNo9 小时前
【GESP】C++三级真题 luogu-B4414 [GESP202509 三级] 日历制作
开发语言·c++·算法
晨曦夜月9 小时前
笔试强训day7
开发语言·c++·算法
木心爱编程10 小时前
【Qt 5.14.2 新手实战】QTC++入门筑基——按钮与标签联动:QPushButton + QLabel 实现图片切换器
java·c++·qt
kk”10 小时前
c++红黑树
开发语言·c++
leiming610 小时前
C++ 02 函数模板案例
开发语言·c++·算法
我不会插花弄玉11 小时前
string类-上【由浅入深-C++】
c++
十五年专注C++开发11 小时前
Qt实现多语言原理和实践详解
开发语言·c++·qt·多语言