c++可以用return语句返回两个变量么
3个回答
展开全部
return一次只能返回一个值。C++标准库提供了一些模板可以让你“同时”返回多个值。
返回两个类型相同或者不同的值:
#include <utility>
std::pair<int, double> Ret2Val() {
return std::pair<int, double>( 255, 3.14 );
}
返回多个类型相同的值:
#include <vector>
std::vector<int> RetMulVals() {
std::vector<int> ret;
ret.push_back( 3 );
ret.push_back( 1 );
ret.push_back( 4 );
return ret;
}
返回多个类型不同的值:
#include <tuple>
#include <iostream>
#include <string>
enum class Sex {
Male,
Female,
Unknown
};
std::tuple<std::string, Sex, int> RetAStu() {
return std::tuple<std::string, Sex, int>( "张三", Sex::Male, 32 );
}
int main() {
auto zhangSan = RetAStu();
std::cout << "姓名: " << std::get<0>( zhangSan ) << std::endl;
std::cout << "性别: " << ( std::get<1>( zhangSan ) == Sex::Male ? "男性" : ( std::get<1>( zhangSan ) == Sex::Female ? "女性" : "未知" ) ) << std::endl;
std::cout << "年龄: " << std::get<2>( zhangSan ) << std::endl;
system( "pause" );
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询