请问大家 c++ 数组 传递给函数

来源:百度知道 编辑:UC知道 时间:2024/09/21 20:40:53
1、“数组可通过值参数和引用参数两种方式传递给函数”这句话对吗?
2、不对的话是为什么呢?
3、传递方式一共有几种?各种传递方式有什么区别和特点?
十分感谢大家!!!
仔细回答 本人菜鸟谢谢!
是不是在c++中 函数参数传递采用的只有传值??

第一句话不对,数组是不能通过值传递的,可以用指针或者引用传递。
指针和引用的区别在于是否可以改变,实际上它们都是指针,指针可以改变,但是引用是不能改变的。注意我说的是改变指针本身,而不是指针所指的值,指针所指的值是可以改变的。
如果你在函数体内不对传入的数组指针进行改变的话,那么传指针和引用是一样的。如果你想要一定不改变指针的话就要用引用,或者也可以这样* const,表示不可以修改指针。
再补充一点,C++的话STL里的vector等类也可以用做数组,这种类的对象是可以进行值传递的,不过这个开销非常大,每次都要传一个数组的copy,所以基本上没人会传值,普遍都用传递引用的方式。如果第一句话里的数组包括像vector这种类的话,那也可以说是对的。如果仅仅是对于普通数组的话就是不对的。