void swap(int *px,int *py)和void swap(int &px,int &py)在都可以被调用时的情况是什么情况
时间: 2023-12-10 11:04:13 浏览: 74
Java中对AtomicInteger和int值在多线程下递增操作的测试
在C++中,指针传递参数的函数和引用传递参数的函数可以被相同类型的指针或引用参数所调用。因此,以下两种情况下,这两个函数都可以被调用:
1. 传递指针参数的情况:
调用swap函数时,传递两个整型指针作为参数,例如:
```
int a = 10, b = 20;
int *p1 = &a, *p2 = &b;
swap(p1, p2);
```
2. 传递引用参数的情况:
调用swap函数时,传递两个整型变量的引用作为参数,例如:
```
int a = 10, b = 20;
swap(a, b);
```
在这两种情况下,swap函数都可以被调用,但是函数内部的实现方式不同。使用指针传递参数的方式需要进行指针解引用和指针操作,而使用引用传递参数的方式则直接对变量进行操作。
阅读全文