首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

用引述做参数

2013-02-17 
用引用做参数c++中函数传入一个引用是不是就相当于 c语言中的传入一个指针啊 ?传引用的好处在于不用复制一

用引用做参数
c++中函数传入一个引用是不是就相当于 c语言中的传入一个指针啊 ?传引用的好处在于不用复制一个对象副本,对于深度构造,是不是我传引用就不用写复制构造函数了???? c++ c
[解决办法]
当作为函数参数的时候,引用和指针差别不大。当函数参数为引用的时候,不存在使用拷贝(复制)构造函数的,因为引用其实就是变量(对象)的别名。
[解决办法]
引用其实就是变量(对象)的别名,所以程序code不用变化就可以拷贝到函数里面。
例如

ClassA a;
...
a.doSomething();

现在换成函数:

  void doAll(ClassA& a){
    a.doSomething();
}

如果是指针:
  void doAll(ClassA* a){
    a->doSomething();
}

看到其中的区别了吗?不大,所以在纯C里面没有引用,经常用指针代替引用的作用。
[解决办法]
引用是引用,指针是指针,引用做参数,不会再调用复制构造函数

热点排行