最近复习C++知识,看到指针和引用这一章,做如下总结:
1. 值传递
例 int foo(int i);按这种方式传递,不管是内置类型(如int)还是用户自定义类型(如类,结构体),在内部对参数值的改变都不会使外部变量值发生变化。
2.引用传递
(1)常引用传递
例 int foo(const B& b); 按这种方式传递,参数的值在函数内部无法修改(值传递可以修改但修改无效),这种方法区别于值传递的最大特点在于,如果传递的是用户自定义类型参数,如对象等,则函数内无需调用对象的构造函数和析构函数,因此效率要比值传递高。因此在进行自定义类型的参数传递时,如果不想修改参数的值,最好使用常引用的方式进行传递。
(2)引用传递
例 int foo(B& b);这种方式不用介绍,主要目的是为了方便在函数内部对传递过来的变量值进行修改。