c++11~c++20 结构化绑定

结构化帮绑定可以作用于3中类型

一、原生数组类型

结果:

备注:绑定到原生数组所需条件仅仅是要求别名的数量于数组元素的个数一致,这里的x,y,z分别绑定到a0,a1,a2

二、绑定到结构体和类对象


结果:

条件:

1.类或者结构体中的非静态数据成员个数必须和标识列表中的别名个数相同

2.这些数据成员必须是公有的。

3.这些数据成员必须是同一个类或者基类中

4.绑定的类和结构体中不能存在匿名联合体

三、绑定到元组和类元组的对象


结果:

cpp 复制代码
int main()
{
	
	//3.绑定到一个std::pair
	std::map<int, string> maptest{ {1,"aaa"},{2,"bbb"},{3,"cccc"} };

	for (auto &item:maptest)
	{
		printf("%d-%s\n",item.first,item.second.c_str());
	}
	cout << "-----------------\n";
	for (auto&[id,str]:maptest)
	{
		printf("%d-%s\n",id,str.c_str());
	}

	system("pause");
	return 0;
}

结果:

相关推荐
Zha0Zhun1 分钟前
Jetpack Compose 实现 iOS 风格 3D WheelPicker
android
小鱼仙官21 分钟前
Ubuntu C++ NTP校时程序
linux·c++·ubuntu
深念Y1 小时前
RIO-UL00(EMUI 4.1 / Android 6.0.1 / arm64)开机自启动 sshd
android·linux·华为·安卓·chroot·sshd·emui
爱和冰阔落1 小时前
【MySQL 慢查询排查实战】列表接口逐渐变慢时,怎样从请求链路定位原因
android·数据库·mysql
老当益壮梁奶奶1 小时前
Linux软件编程学习笔记(二)Linux文件IO编程入门:从fopen到fgetc
linux·c语言·c++·笔记·学习
雪的季节1 小时前
C++ 高级(泛型编程与模板)(有空再研究吧)
c++
三十岁老牛再出发1 小时前
8月21日总结
c++·python
不可求~2 小时前
C++ 报错交给 AI 之前,先准备好这 8 类信息
开发语言·c++·人工智能
别动我齐刘海13 小时前
机器人运动控制学习2——基础进阶
c++·人工智能·神经网络·学习·目标检测·机器学习·机器人