【发布时间】:2015-05-08 09:53:58
【问题描述】:
我正在尝试使用以下代码对数组进行升序排序。我发现方法 1,2,3,4 都得到相同的结果:1234。
哪种方法最好?
我应该何时以及为什么应该使用指针/引用?谢谢你。
-
使用&调用,函数参数中使用*
只是在函数参数中使用了*
-
只是在函数参数中使用了&
-
什么都没有:
#include <iostream> using namespace std; void swap(int a,int b){ int t; t=a; a=b; b=t; } void main(){ int a[]={1,2,3,4}; for (int i=1; i<3; i++) for (int j=3; j>i;j--) if(a[j]<a[j-1]) swap(a[j],a[j-1]); cout << a[0] <<a[1]<<a[2]<<a[3]; }
【问题讨论】:
-
案例 1 和 2 似乎相同。您的意思是添加一张不同的图片吗?
-
请编译代码并查看输出。你应该意识到一些差异。
-
如果没有理由使用指针,那么就不要使用它们。只有当你喜欢更多的写作和可能的复杂性时,你才绝对应该在这种情况下使用指针。
-
这绝对是一个太宽泛的问题。请查阅 C++ 书籍、教程或其他学习资源。
-
请参阅stackoverflow.com/questions/11408825/…,了解有关指针和引用之间差异的一些观点。
标签: c++ function pointers reference function-pointers