C++结构化绑定

此文总结与👉 神经元猫的个人空间_哔哩哔哩_bilibili【75】【Cherno C++】【中字】C++的结构化绑定_哔哩哔哩_bilibili

  • 在如何处理C++多返回值得问题,返回的数据可以是结构体实例,也可以是元组或对组

从C++17引入的结构化绑定可以改善此项,

以前忒麻烦的版本

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

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

int main(void)
{
    auto person = CreatPerson();
    std::string&name = std::get<0>(person);
    int age = std::get<1>(person);
    
    std::string name;
    int age;
    std::tie(name, age) = CreatPerson();
   
    return 0;
}

从C++17引入了结构化绑定解决了上诉问题

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

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

int main(void)
{
    auto[name, age] = CreatPerson(); // 简单,美观
    std::cout << name;
   
    return 0;
}
Licensed under CC BY-NC-SA 4.0