技术栈

C++(20):通过[[likely]]和[[unlikely]]优化编译switch

风静如云2023-11-06 19:22

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;
}
上一篇:【带头学C++】----- 三、指针章 ---- 3.6 二维数组与数组指针的关系
下一篇:python aiohttp异步多并发协程访问&多个依赖url访问
相关推荐
Risehuxyc
2 小时前
C++(VS2026)使用Ncap库的配置
c++
4ever.ov0
3 小时前
精学C++第一站 从命名空间到引用:C++入门核心语法全梳理(13000字长文)
开发语言·c++·clion
听风若依
3 小时前
C++模板初阶
c++·算法
纪念 229
4 小时前
C++ 算法(模拟)
开发语言·c++·算法
zwc3210432055
4 小时前
Day 2:图像内存、数据类型与stride
c++·人工智能·opencv·算法·计算机视觉
道尔柯南
4 小时前
C++ 内存管理详解:从 malloc/free 到 new/delete
c++·面试
東隅已逝,桑榆非晚
4 小时前
AVL数实现
c++·笔记·学习·算法
思想觉悟
5 小时前
SEAndroid实战
android·linux·c++
.YM.Z
5 小时前
优选算法——【双指针算法2】C++实现
开发语言·c++·算法
思想觉悟
5 小时前
Aosp开发磨刀石之ADB速查
android·c++
热门推荐
01国内可直接用、免费额度/永久免费的大模型API清单(含 SiliconFlow、火山、阿里、智谱、百度、Kimi、DeepSeek、DMXAPI 等)02如何新建文件夹? 电脑新建文件夹的4种方法03历年考研数学一、数学二、数学三真题试卷及答案PDF04GitHub 镜像站点05几个好用的ip纯净度检测网站06苹果iPA游戏软件资源下载网站07Android 屏幕适配系列开篇:核心概念、官方机制与主流方案08Dify:一站式AI应用开发平台全解析与Windows部署指南09蜘蛛磁力 搜索引擎大全,如何使用蜘蛛磁力查找磁力链接10UG NX12.0安装包下载与保姆级图文安装教程!!