在将左程云的《程序员面试代码指南》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]);
未完待续!
近期评论