技术栈

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
15 小时前
15. 三数之和
c++·算法·leetcode·三数之和
小镇学者
16 小时前
【c++】C++字符串删除末尾字符的三种实现方法
java·开发语言·c++
ue星空
17 小时前
R3注入反截图
c++
塔尖尖儿
17 小时前
For循环中++i与i++有什么不一样?
c++
Ralph_Y
17 小时前
C++虚继承
开发语言·c++
ZzZz_ing
17 小时前
2026 - 零碎知识随记录
c++
SweetCode
17 小时前
【无标题】
开发语言·c++·算法
王老师青少年编程
18 小时前
信奥赛C++提高组csp-s之拓扑排序详解
c++·算法·拓扑排序·csp·信奥赛·csp-s·提高组
xie_pin_an
18 小时前
C++ 从入门到进阶:核心知识与实战指南
java·c++·算法
No0d1es
18 小时前
2025年12月 GESP CCF编程能力等级认证C++八级真题
开发语言·c++·青少年编程·gesp·ccf
热门推荐
01GitHub 镜像站点02Labelme从安装到标注:零基础完整指南03安娜的档案(Anna’s Archive) 镜像网站/国内最新可访问入口(持续更新)04Linux下V2Ray安装配置指南05jdk21下载、安装(Windows、Linux、macOS)062025-04-03 Latex学习1——本地配置Latex + VScode环境07【踩坑笔记】50系显卡适配的 PyTorch 安装08Opencode CLI 安装成功,但是启动失败09UV安装并设置国内源10Claude Code 2.1.2 升级报错?别折腾了,一行命令搞定