`
happmaoo
  • 浏览: 4337294 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

关于参数传递的问题 这个帖子的感想

阅读更多

关于参数传递的问题

看完这个贴,我还是觉得传指针和传引用一个样.
到底有什么区别呢?

既然c中的传指针就可以到达效果,为啥还要来个引用?

张军师兄认为c++中reference这个概念的引入,使得编程简洁。

for example:swap()

c指针版

int swap(int *x, int *y)
{
int temp;
temp = *x; *x = *y; *y = temp;
return temp;
}
void main()
{
int a = 1, b = 2;
int *p1 = &a;
int *p2 = &b;
swap(p1, p2)
}

////////////////////////

c++ 引用版

int& swap2(int& x, int& y)
{
int temp;
temp = x;
x = y;
y = temp;
return x;
}

void main()
{
int a = 1, b = 2;
swap2(a, b);
}

虽然实际上在引用中处理的是地址,但是编辑程序时省去好多的*. 程序简洁多了。

Referenceswereintroducedprimarilytosupportoperatoroverloading.
--BjarneStroustrup,TheDesignandEvolutionofC++

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics