9.8节中swap函数的问题
来源:10-8 从手写全排列到STL的实现

没有蜡笔的小新
2020-04-18
老师,您在9.8节中的swap函数如下:
void swap(char* a, char* b) {
char temp = *a;
…
}
但是在调用的时候是:
swap(*pChar, *pPosition);
知道pChar和pPosition都是指针,取 *pchar,*pPosition就是取值,但是上面swap函数传递的参数是char *。故此处调用的swap应该不是上面的自己定义的swap,应该是系统自带的swap函数。
老师,您看是不是。
写回答
1回答
-
quickzhao
2020-04-18
这个问题你说的对,这里确实是调用了系统的swap方法,可以修改一下swap的实现:
void swap(char& a, char& b)
{
char temp = a;
a = b;
b = temp;
}
10
相似问题