微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C++,通过指针传递

如何解决C++,通过指针传递

我实际上认为这个程序应该抛出一个编译错误(因为,我正在将值传递给交换方法而不是 &a,&b)但我很震惊地看到它成功执行了。 所以,我发布这个是为了知道它是如何/为什么被执行而没有任何错误

#include <iostream> 
using namespace std; 

void swap(int* x,int* y) 
{ 
    int z = *x; 
    *x = *y; 
    *y = z; 
} 

int main() 
{ 
    int a = 45,b = 35; 
    cout << "Before Swap\n"; 
    cout << "a = " << a << " b = " << b << "\n";  
    swap(a,b); 

    cout << "After Swap with pass by pointer\n"; 
    cout << "a = " << a << " b = " << b << "\n"; 
} 

解决方法

正如本网站上常说的那样,using namespace std; 是个坏主意。

你打电话给std::swap<int>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。