4个回答
展开全部
有这么几种方法:
1、把引用或指针做参数,传递给函数
2、全局变量(不推荐)
3、函数运行完直接返回给该变量
C++中,一般第一种比较常用,不过最好把不需要修改的变量设置为const,避免不必要的修改。还有函数的参数尽可能的用引用,其次是指针,一般除了内置类型不要用值传递,自定义类型用值传递会造成不必要的copy,浪费时间。
C++这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,“CPP”。 它是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。最新正式标准C++于2014年8月18日公布。其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大程序员受用的最强大编程语言之一,支持类:类、封装、重载等特性。
1、把引用或指针做参数,传递给函数
2、全局变量(不推荐)
3、函数运行完直接返回给该变量
C++中,一般第一种比较常用,不过最好把不需要修改的变量设置为const,避免不必要的修改。还有函数的参数尽可能的用引用,其次是指针,一般除了内置类型不要用值传递,自定义类型用值传递会造成不必要的copy,浪费时间。
C++这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,“CPP”。 它是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。最新正式标准C++于2014年8月18日公布。其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大程序员受用的最强大编程语言之一,支持类:类、封装、重载等特性。
展开全部
没看懂意思,是在其他函数里改变主函数里的参数的某个值吗?
如果是的话,有这么几种方法。
把引用或指针做参数,传递给函数
全局变量(不推荐)
函数运行完直接返回给该变量
C++中,一般第一种比较常用,不过最好把不需要修改的变量设置为const,避免不必要的修改。还有函数的参数尽可能的用引用,其次是指针,一般除了内置类型不要用值传递,自定义类型用值传递会造成不必要的copy,浪费时间。
如果是java等现代面向语言中,则不建议直接在函数中修改,一般会把传递的参数设置为常量,当需要修改时,选择需要修改的做一份拷贝,然后再修改,最后回传该值,这样比较安全,但也不够灵活,不过面向对象的编程语言中一般都采用这种良好的编程习惯...(Martin Flower的《重构》,还介绍了几种方法你可以看看)
追问
我的意思是说,在一个其他函数中改变主函数的某个变量,或者返回多个值。
我看了下你的回答,有个问题想问:如何使用引用;如何将引用或指针做参数,传递给函数
谢谢!
追答
举个例子:
void swap(int x,int y){//这个是值传递,但你会发现,x、y在主函数中没有变化
int t=x;x=y;y=t;
}
void swap(int& x,int& y){//这个是引用传递,调用方式和上面一样
int t=x;x=y;y=t;
}
void swap(int* x,int* y){//这个是指针传递
int t=*x;*x=*y;*y=t;
}
int main(){
int x=1,y=2;
swap(x,y);//这个即可以算引用也可以算值传递,所以在定义函数时2种定义不能同时出现,否则编译器会认为有歧义,具体看参数是否有&
swap(&x,&y)//这个是指针参数的调用
return 0;
}
至于你说的返回多个值是不行,return只返回1个值。在java中一般会把多个返回值打包成数组或其他对象等等进行返回,这里牵涉到了代码重构的问题,你暂时不用去了解。C++中只要使用引用、指针就可以了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
或者用引用传参也可以~子函数形参声明为引用,就可以使对参数的修改在子函数返回后仍有效了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将主函数的参数传给子函数,并将返回值传回
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询