本文小编为大家详细介绍“C++中函数传递的方式是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++中函数传递的方式是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。值传递:voidfun(intx) { x+=5;//修改的只是y在栈中copyx,x只是y的一个副本,在内存中重新开辟的
一块临时空间把y的值送给免费云主机域名了x;这样也增加了程序运行的时间,降低了程序的效率。 } voidmain(void) { inty=0; fun(y); cout}指针传递:引用传递:看了C++函数传递后我们继续来谈“const只能用于修饰输入参数”的情况。C++可变参数表基本内容探讨各个C++内存区域功能对比C++ static不同的应用方式C++输入输出汉字具体应用技巧分享C++地址运算符相关内容详解当输入参数用“值传递”方式时,我们不需要加const修饰,因为用值传递时,函数将自动用实际参数的拷贝初始化形式参数,当在函数体内改变形式参数时,改变的也只是栈上的拷贝而不是实际参数。但要注意的是,当输入参数为ADT/UDT(用户自定义类型和抽象数据类型)时,应该将“值传递”改为“const &传递”,目的可以提高效率。例如:void fun(A a); //效率底。函数体内产生A类型的临时对象用于复制参数 a,但是临时对象的构造、复制、析构过程都将消耗时间。void fun(A const &a); //提高效率。用“引用传递”不需要产生临时对象,省了临时对象的构造、复制、析构过程消耗的时间。但光用引用有可能改变a,所以加const当输入参数用C++函数传递中的“指针传递”方式时,加const修饰可防止意外修改指针指向的内存单元,起到保护作用。例如:void funstrcopy(char *strdest,const char *strsrc) //任何改变strsrc指向的内存单元,编译器都将报错些时保护了指针的内存单元,也可以保护指针本身,防止其地址改变。例如:读到这里,这篇“C++中函数传递的方式是什么”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。
相关推荐: vue3中setup函数的参数props和context怎么配置
这篇文章主要介绍了vue3中setup函数的参数props和context怎么配置的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue3中setup函数的参数props和context怎么配置文章都会有所收获,下面我们一起来看看吧…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。