本节介绍c++结构化绑定,改知识点是c++17中增加的新特性,主要是用来处理c++多返回值的问题。
- 原来c++17之前返回多个值的方法之前专门有一节内容在描述,简单回顾一下原来使用tuple返回多个返回值的方法,代码如下:
#include <iostream>
#include <string>
#include <tuple>
std::tuple<std::string, int> CreatPersion()
{
return {"pcop", 31};
}
int main()
{
auto persion = CreatPersion();
//采用std::get<0>这种方式代码的可读性太差
std::string name = std::get<0>(persion);
std::cout << name << std::endl;
std::cin.get();
}
- 结构化绑定会提高代码的可读性,实现方式如下:
- 首先需要在visiual studio中将c++标准设置为17或以上
-
#include <iostream> #include <string> #include <tuple> std::tuple<std::string, int> CreatPersion() { return {"pcop", 31}; } int main() { auto[name, age] = CreatPersion(); std::cout << name << std::endl; std::cin.get(); }