技术栈

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访问
相关推荐
Frank_refuel
13 小时前
C++之继承
开发语言·c++
哪有时间简史
13 小时前
C++程序设计
c++
%xiao Q
14 小时前
GESP C++四级-216
java·开发语言·c++
tianyuanwo
14 小时前
深入浅出SWIG:从C/C++到Python的无缝桥梁
c语言·c++·python·swig
初次见面我叫泰隆
15 小时前
Qt——2、信号和槽
开发语言·c++·qt
D_evil__
15 小时前
【Effective Modern C++】第二章 auto:5. 优先使用 auto,而非显式类型声明
c++
玖釉-
15 小时前
[Vulkan 学习之路] 26 - 图像视图与采样器 (Image View and Sampler)
c++·windows·图形渲染
一颗青果
15 小时前
C++的锁 | RAII管理锁 | 死锁避免
java·开发语言·c++
AI视觉网奇
15 小时前
ue c++ 编译常量
c++·学习·ue5
一分之二~
15 小时前
回溯算法--解数独
开发语言·数据结构·c++·算法·leetcode
热门推荐
01GitHub 镜像站点02OpenCode 入门教程:介绍 · 安装 · 配置第三方 API (如 Claude)032025 Telegram 最新免费社工库机器人(LetsTG可[特殊字符])搭建指南(含 Python 脚本)04安娜的档案(Anna’s Archive) 镜像网站/国内最新可访问入口(持续更新)05UV安装并设置国内源06Linux下V2Ray安装配置指南07AI 规范驱动开发“三剑客”深度对比:Spec-Kit、Kiro 与 OpenSpec 实战指南08网站改了域名,如何查找?09BongoCat - 跨平台键盘猫动画工具10Claude Code Skills 实用使用手册