24小时热门版块排行榜    

查看: 1287  |  回复: 5

zhuwei04

木虫 (正式写手)

[求助] [求助]C/C++中多个返回值的问题

C++中的函数是否能设定多个输出值

例如:
有一个函数fun(a,b,c,d,e),a、b、c、d、e是输入参数,通过函数计算得到f1=a+b;f2=a+c+d+e,要返回f1和f2的值应该怎么实现?

谢谢!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hxz

木虫 (正式写手)

【答案】应助回帖


xzhdty(金币+1): 谢谢你的应助 2011-04-30 09:12:53
zhuwei04(金币+5): 嗯,谢谢指教 2011-04-30 10:02:51
c++不能返回多个值
如果需要返回多个值, 一般有两种替代做法:
1. 利用函数的副作用, 返回值在函数外定义, 在函数内修改, 一般为void函数
2. 把返回值打包返回, 如把返回值打包成一个结构返回

ps, 如果想要真正的多值返回, 请用lisp
2楼2011-04-30 09:02:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★
微尘、梦想(金币+2): 谢谢参与应助! 2011-04-30 19:09:19
一般做法就是传入指针,在函数中修改返回值
CODE:
void foo(int *f1, int *f2, int a, int b, int c, int d, int e)
{
    f1=a+b;
    f2=a+c+d+e;
}

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
3楼2011-04-30 14:54:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

来自天狼

木虫 (正式写手)

★ ★
微尘、梦想(金币+2): 谢谢回帖交流! 2011-04-30 19:09:41
引用回帖:
Originally posted by libralibra at 2011-04-30 14:54:31:
一般做法就是传入指针,在函数中修改返回值
CODE:
void foo(int *f1, int *f2, int a, int b, int c, int d, int e)
{
    f1=a+b;
    f2=a+c+d+e;
}


楼上的,错了,应该是
void foo(int *f1, int *f2, int a, int b, int c, int d, int e)
{
    *f1=a+b;
    *f2=a+c+d+e;
}
也可以用引用
void foo(int &f1, int &f2, int a, int b, int c, int d, int e)
{
    f1=a+b;
    f2=a+c+d+e;
}
4楼2011-04-30 16:29:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

引用回帖:
Originally posted by 来自天狼 at 2011-04-30 16:29:24:
楼上的,错了,应该是
void foo(int *f1, int *f2, int a, int b, int c, int d, int e)
{
    *f1=a+b;
    *f2=a+c+d+e;
}
也可以用引用
void foo(int &f1, int &f2, int a, int b, int c, i ...

恩呢,手误了,^_^,应该是*f1和*f2
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
5楼2011-04-30 17:49:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huycwork

金虫 (著名写手)

【答案】应助回帖

★ ★
微尘、梦想(金币+2): 谢谢回复! 2011-05-01 18:21:24
标准的C++做法是pair:
CODE:
#include
std::pair func(int a, int b, int c, int d, int e){
     return std::pair(a+b, a+c+d+e);
}

避免性能损失当然采用指针和引用,但是也不是说不存在抵消性能的办法,Qt的隐式共享就可以达到这样的可读性且没有性能损失。
漩涡的中心有一块空地,空空的。
6楼2011-05-01 10:25:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zhuwei04 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 085601材料工程专硕求调剂 +5 慕寒mio 2026-03-16 5/250 2026-03-17 21:31 by hmn_wj
[考研] 301求调剂 +5 yy要上岸呀 2026-03-17 5/250 2026-03-17 20:20 by peike
[考研] 281求调剂(0805) +3 烟汐忆海 2026-03-16 7/350 2026-03-17 20:16 by peike
[硕博家园] 湖北工业大学 生命科学与健康学院-课题组招收2026级食品/生物方向硕士 +3 1喜春8 2026-03-17 5/250 2026-03-17 17:18 by ber川cool子
[考研] 求调剂,总分315,考的生物医药,一志愿湖南师范大学。调剂到任何专业都可以 +4 小丁想进步 2026-03-11 5/250 2026-03-17 16:05 by 外星文明
[考研] 有没有道铁/土木的想调剂南林,给自己招师弟中~ +3 TqlXswl 2026-03-16 7/350 2026-03-17 15:23 by TqlXswl
[考研] 一志愿南京大学,080500材料科学与工程,调剂 +4 Jy? 2026-03-16 4/200 2026-03-17 11:02 by gaoqiong
[考研] 考研调剂 +3 淇ya_~ 2026-03-17 5/250 2026-03-17 09:25 by Winj1e
[考研] 283求调剂 +3 听风就是雨; 2026-03-16 3/150 2026-03-17 07:41 by 热情沙漠
[考研] [导师推荐]西南科技大学国防/材料导师推荐 +3 尖角小荷 2026-03-16 6/300 2026-03-16 23:21 by 尖角小荷
[考研] 070300化学学硕求调剂 +6 太想进步了0608 2026-03-16 6/300 2026-03-16 16:13 by kykm678
[教师之家] 焦虑 +7 水冰月月野兔 2026-03-13 9/450 2026-03-16 10:00 by Quakerbird
[考研] 求老师收留调剂 +4 jiang姜66 2026-03-14 5/250 2026-03-15 20:11 by Winj1e
[考研] 266求调剂 +4 学员97LZgn 2026-03-13 4/200 2026-03-14 08:37 by zhukairuo
[考研] 0703,333分求调剂 一志愿郑州大学-物理化学 +3 李魔女斗篷 2026-03-11 3/150 2026-03-13 22:24 by JourneyLucky
[考研] 求材料调剂 +5 隔壁陈先生 2026-03-12 5/250 2026-03-13 22:03 by 星空星月
[考研] 四川大学085601材料工程专硕 初试294求调剂 +4 祝我们好在冬天 2026-03-11 4/200 2026-03-13 21:39 by peike
[考研] 315求调剂 +9 小羊小羊_ 2026-03-11 10/500 2026-03-13 21:13 by SXNU李老师
[考研] 工科调剂 +4 Jiang191123! 2026-03-11 4/200 2026-03-13 15:15 by Miko19
[考研] 大连大学化学专业研究生调剂 +3 琪久. 2026-03-10 8/400 2026-03-11 10:02 by 琪久.
信息提示
请填处理意见