初识C++引用&

在将左程云的《程序员面试代码指南》JAVA版转化为C++版中遇到的问题之一就是JAVA的一切皆引用:
C++引用:

void swap(int &a,int &b)

两种写法,比如用来交换数组a的i和j两个位置的值:
写法1:

//1:声明为指针型:
template
void Swap(T *a,T *b)
{
T tmp ;
tmp = *a ;
*a = *b;
*b = tmp ;
}
//调用时:
Swap(&a[i],&a[j]);

写法2:

//2:声明为引用类型;
void Swap(T &a,T &b)
{
T c = a;
a = b ;
b = c;
}
//调用时:
swap(list[i],list[k]);

未完待续!

发表回复

Your email address will not be published.