技术栈

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访问
相关推荐
Queenie_Charlie
17 小时前
小明统计数组
数据结构·c++·set
郝学胜-神的一滴
17 小时前
Separate Buffer、InterleavedBuffer 策略与 OpenGL VAO 深度解析
开发语言·c++·程序人生·算法·游戏程序·图形渲染
承渊政道
19 小时前
C++学习之旅【C++类和对象(下)】
c++·学习·visual studio
枫叶丹4
19 小时前
【Qt开发】Qt窗口(九) -> QFontDialog 字体对话框
c语言·开发语言·数据库·c++·qt
旖旎夜光
1 天前
多态(11)(下)
c++·学习
yangpipi-
1 天前
《C++并发编程实战》 第4章 并发操作的同步
开发语言·c++
Chance_to_win
1 天前
C++基础知识
c++
有趣的我
1 天前
C++ 多态介绍
开发语言·c++
WBluuue
1 天前
Codeforces 1068 Div2(ABCD)
c++·算法
阿沁QWQ
1 天前
C++的map和set
开发语言·c++
热门推荐
01GitHub 镜像站点02【AutoGLM部署】本地私有化部署AI手机Agent03UV安装并设置国内源04【超详细教程】手把手教你从微软官网免费下载Windows 10官方原版ISO镜像(2025最新版)05Open-AutoGLM Windows 安装部署教程06Linux下V2Ray安装配置指南07BongoCat - 跨平台键盘猫动画工具08安娜的档案(Anna’s Archive) 镜像网站/国内最新可访问入口(持续更新)09Windows 11 官方系统安装与重装完整教程(2025年最新版)10Cursor 又偷偷更新,这个功能太实用:Visual Editor for Cursor Browser