Joh*_*ohn 2 c++ pointers function
我道歉,因为这很简单,我正在使用我自己的XOR交换方法,并希望它比较参考和指针使用之间的速度差异(不要破坏它!)
我的XOR ptr功能如下:
void xorSwapPtr (int *x, int *y) {
if (x != y && x && y) {
*x ^= *y;
*y ^= *x;
*x ^= *y;
}
}
Run Code Online (Sandbox Code Playgroud)
我把它复制到xorSwapRef函数,它只使用refs(int&x等)anywho:
我这样使用它但是我得到了错误 error: invalid conversion from ‘int’ to ‘int*’
int i,x,y = 0;
for(i=0;i<=200000;i++) {
x = rand();
y = rand();
xorSwapPtr(x, y); //error here of course
}
Run Code Online (Sandbox Code Playgroud)
我如何使用带有整数的指针函数,比如ref?我只是想知道,因为我在书中找到的示例xor函数使用指针,因此我想测试.
Jam*_*lis 11
x并且y是int; xorSwapPtr需要两个int*s,所以你需要传递和的地址,x而y不是x和y他们自己:
xorSwapPtr(&x, &y);
Run Code Online (Sandbox Code Playgroud)