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;
}
相关推荐
blueman88884 小时前
Qt5通过vcpkg中调用时,在debug模式下调试时总是调用release的plugins文件夹中的dll
c++·qt·cmake
jinyishu_7 小时前
C++ string使用方法
开发语言·c++
乐观勇敢坚强的老彭7 小时前
C++浮点数使用注意事项
开发语言·c++
库克克7 小时前
【C++ 】内联函数
java·开发语言·c++
盐焗鹌鹑蛋7 小时前
【C++】红黑树
c++
aaPIXa62210 小时前
C++采样引导优化SPGO——比PGO更智能的编译器决策新方案
java·c++·人工智能
Starmoon_dhw10 小时前
题解:P17078 夏日甜点
c++·学习·算法·图论
某不知名網友10 小时前
C/C++动态内存管理,智能指针及RAlI思想。
java·c语言·c++
hold?fish:palm11 小时前
从源码到可执行文件:C++程序的编译过程
开发语言·c++
lingran__12 小时前
C++_STL简介
开发语言·c++