技术栈

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访问
相关推荐
夜悊
41 分钟前
C++代码示例:进制数简单生成工具
c++
郝学胜_神的一滴
2 小时前
CMake 021: IF 条件判据详诠
c++·cmake
_wyt001
16 小时前
洛谷 B3930 [GESP202312 五级] 烹饪问题 题解
c++·gesp
玖玥拾
19 小时前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++·栈·容器适配器
один but you
21 小时前
constexpr函数
c++
凡人叶枫
21 小时前
Effective C++ 条款41:了解隐式接口和编译期多态
java·开发语言·c++·effective c++
凡人叶枫
21 小时前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++
小胖xiaopangss
21 小时前
BRpc使用
c++·rpc
-森屿安年-
1 天前
63. 不同路径 II
c++·算法·动态规划
chase_my_dream
1 天前
Cartographer详细讲解
c++·人工智能·自动驾驶
热门推荐
012026年6月AI行业全景:从百模大战到Agent元年,这30天发生了什么?022026 年 AI 编程工具终极横评:Cursor vs Claude Code vs Copilot vs Windsurf03【AI】2026 年具身智能模型和世界模型总结042026 AI 编程工具终极实战指南:Cursor vs Claude Code vs Copilot,开发者该怎么选?052026年6月AI大模型全景报告:GPT-5.6、Claude Opus 4.8、Gemini 3.5,中美AI三足鼎立谁主沉浮?06GitHub 镜像站点07AI科技热点日报 | 2026年6月1日08上线仅72小时被强制下架:Claude Fable 5 的短命09HTTP 与 HTTPS 的区别:从原理到实战详解10Codex 下载安装指南:Windows 和 macOS 官方版下载