技术栈

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访问
相关推荐
blueman8888
16 小时前
Qt5通过vcpkg中调用时,在debug模式下调试时总是调用release的plugins文件夹中的dll
c++·qt·cmake
jinyishu_
19 小时前
C++ string使用方法
开发语言·c++
乐观勇敢坚强的老彭
19 小时前
C++浮点数使用注意事项
开发语言·c++
库克克
19 小时前
【C++ 】内联函数
java·开发语言·c++
盐焗鹌鹑蛋
19 小时前
【C++】红黑树
c++
aaPIXa622
1 天前
C++采样引导优化SPGO——比PGO更智能的编译器决策新方案
java·c++·人工智能
Starmoon_dhw
1 天前
题解:P17078 夏日甜点
c++·学习·算法·图论
某不知名網友
1 天前
C/C++动态内存管理,智能指针及RAlI思想。
java·c语言·c++
hold?fish:palm
1 天前
从源码到可执行文件:C++程序的编译过程
开发语言·c++
lingran__
1 天前
C++_STL简介
开发语言·c++
热门推荐
01GitHub 镜像站点02AI科技热点日报 | 2026年07月01日03幻兽帕鲁 - 服务器管理员权限与 GM 命令完全指南042026年7月AI圈大地震:GPT-5.6被政府限制、Claude入驻Slack、Anthropic自研芯片05GPT-5.5 对比 GPT-5.6 Sol、Terra、Luna:官方性能数据与选型分析062026 年 AI 编程工具终极横评:Cursor vs Claude Code vs Copilot vs Windsurf072026 国产 AI 大模型横评:DeepSeek、通义千问、Kimi、文心一言、星火、豆包谁更能打?082026 AI 编程工具终极实战指南:Cursor vs Claude Code vs Copilot,开发者该怎么选?09AI 编程 IDE 全景解析 2026:Agent 全面接管开发链路102026 年 AI 大模型 & AI 编程工具实战全总结