技术栈

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访问
相关推荐
老赵的博客
2 小时前
c++ QT之动态库加载问题
c++·qt
(Charon)
2 小时前
【C++】定时器进阶:使用最小堆管理定时任务
c++·算法
hansang_IR
3 小时前
【题解】 [省选联考 2021 A/B 卷] 卡牌游戏
c++·算法
lzx_002
3 小时前
C++11(一)
开发语言·c++·算法
小七在进步
5 小时前
C++入门(2)
java·jvm·c++
en.en..
5 小时前
C语言核心解析:#define与typedef本质区别
开发语言·c++·算法
码匠许师傅
5 小时前
【设计模式精讲】26.策略模式(Strategy)
c++·设计模式·策略模式·uml
果果燕
6 小时前
实习笔记(六)主机按钮状态上报完整流程
开发语言·c++·php
是个西兰花
7 小时前
网络基础1
linux·网络·c++·智能路由器
老赵的博客
7 小时前
c++QT之动态库加载常见报错
c++·qt
热门推荐
01国内可直接用、免费额度/永久免费的大模型API清单(含 SiliconFlow、火山、阿里、智谱、百度、Kimi、DeepSeek、DMXAPI 等)02如何新建文件夹? 电脑新建文件夹的4种方法03GitHub 镜像站点04历年考研数学一、数学二、数学三真题试卷及答案PDF052026 国产 AI 大模型横评:DeepSeek、通义千问、Kimi、文心一言、星火、豆包谁更能打?06蜘蛛磁力 搜索引擎大全,如何使用蜘蛛磁力查找磁力链接07微信历史版本含下载地址( Windows PC | 安卓 | MAC )及设置微信不更新08ZCode 周末送额度活动开启:3 亿 Token 免费领取09AI 编程 IDE 全景解析 2026:Agent 全面接管开发链路10Agnes AI 免费 API 接入指南:文本、生图、生视频,一套接口全免费