指针与引用做参数的不同

<script>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>

指针和引用一直是学习C++时的一个难点,不知道什么时候应该用指针,什么时候应该用引用。下面是指针与引用做为函数时的不同,看了之后,也许上面的问题就不是问题了,呵呵。

1.两者都可以不用复制变元而提高效率,但是指针的传递实际上是复制了指针的,而引用没有复制。

2.虽然两者都可以改变变元的值。但是如果函数参数是指针那就是明显暗示传入的值可能被改变,而传引用没有这个暗示。

3.指针参数可以接收空值,而引用必须要指向一个值。

4.没有被声明为const的引用不能传递常量,因为编译器不允许创建对常量的引用。

5.指针需要解除引用才能获得或操作它指向的变量值,而引用不需要这一步。

终上,我得出以下什么时候用引用,什么时候用指针的规则,如果不对,请大牛们指正:

1.为了获得高性能时使用指针和引用参数。

2.如果要改变变元的值就用指针做参数,不就用引用做参数,并加上const修饰。

你可能感兴趣的:(C++,c,C#)