技术栈

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访问
相关推荐
weixin_46176940
10 分钟前
15. 三数之和
c++·算法·leetcode·三数之和
小镇学者
1 小时前
【c++】C++字符串删除末尾字符的三种实现方法
java·开发语言·c++
ue星空
2 小时前
R3注入反截图
c++
塔尖尖儿
2 小时前
For循环中++i与i++有什么不一样?
c++
Ralph_Y
2 小时前
C++虚继承
开发语言·c++
ZzZz_ing
2 小时前
2026 - 零碎知识随记录
c++
SweetCode
2 小时前
【无标题】
开发语言·c++·算法
王老师青少年编程
3 小时前
信奥赛C++提高组csp-s之拓扑排序详解
c++·算法·拓扑排序·csp·信奥赛·csp-s·提高组
xie_pin_an
3 小时前
C++ 从入门到进阶:核心知识与实战指南
java·c++·算法
No0d1es
3 小时前
2025年12月 GESP CCF编程能力等级认证C++八级真题
开发语言·c++·青少年编程·gesp·ccf
热门推荐
01GitHub 镜像站点02Labelme从安装到标注:零基础完整指南03安娜的档案(Anna’s Archive) 镜像网站/国内最新可访问入口(持续更新)04Linux下V2Ray安装配置指南05jdk21下载、安装(Windows、Linux、macOS)06【踩坑笔记】50系显卡适配的 PyTorch 安装07Opencode CLI 安装成功,但是启动失败08手把手教你通过Gemini3 pro 学生认证,白用一年,手慢无!09全球最强模型Grok4,国内已可免费使用!(附教程)10Claude Code Plan 模式完全指南:从入门到精通