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

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

一、原生数组类型

结果:

备注:绑定到原生数组所需条件仅仅是要求别名的数量于数组元素的个数一致,这里的x,y,z分别绑定到a[0],a[1],a[2]

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


结果:

条件:

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;
}

结果:

相关推荐
武当豆豆4 小时前
C++编程学习阶段性总结
开发语言·c++
还是奇怪6 小时前
Linux - 安全排查 3
android·linux·安全
A7bert7776 小时前
【YOLOv8-obb部署至RK3588】模型训练→转换RKNN→开发板部署
linux·c++·人工智能·python·yolo
Android采码蜂6 小时前
BLASTBufferQueue03-BufferQueueConsumer核心操作
android
Android采码蜂6 小时前
BLASTBufferQueue02-BufferQueueProducer核心操作
android
2501_915921437 小时前
没有Mac如何完成iOS 上架:iOS App 上架App Store流程
android·ios·小程序·https·uni-app·iphone·webview
zyx没烦恼7 小时前
五种IO模型
开发语言·c++
码农明明7 小时前
Google Play 应用上架二三事
android·google
EutoCool8 小时前
Qt窗口:菜单栏
开发语言·c++·嵌入式硬件·qt·前端框架
圆头猫爹10 小时前
第34次CCF-CSP认证第4题,货物调度
c++·算法·动态规划