c++可以用return语句返回两个变量么

 我来答
帐号已注销
2016-11-07 · TA获得超过3954个赞
知道大有可为答主
回答量:1636
采纳率:77%
帮助的人:1220万
展开全部

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" );
}
百度网友79d5913
2016-11-07 · TA获得超过2245个赞
知道大有可为答主
回答量:1325
采纳率:83%
帮助的人:265万
展开全部
不能,要么用引用传参,要么就返回一个指针。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱金霞
2016-11-07 · TA获得超过133个赞
知道答主
回答量:17
采纳率:100%
帮助的人:1.8万
展开全部
不能,可以用两个引用型的参数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式