C++学习笔记 39 C++17 Structured Binding(结构化绑定)

一、 结构化绑定

#include<iostream>
#include<string>
#include<tuple>

//像只使用一次的类型,会导致构建了太多useless的class或struct,完全没必要
//这会使代码库混乱,增加了一个额外的类型,且不是必须的。
//在这种情况下,可以使用结构绑定、元组、或对组。

std::tuple<std::string, int> CreatePerson() {
	return { "Cherno", 20 };
}

int main() {
	//1. 最原始的使用元组的方式
	auto person = CreatePerson();
	std::string& name = std::get<0>(person);
	int age = std::get<1>(person);

	//2. 更漂亮的使用方式
	std::string name2;
	int age2;
	std::tie(name2, age2) = CreatePerson();

	//3. 使用struct 或 class

	//4. C++ 17 结构绑定
	auto[name3, age3] = CreatePerson();

	std::cin.get();
}
posted @ 2025-12-24 16:15  超轶绝尘  阅读(14)  评论(0)    收藏  举报