易采站长站为您分析C++交换指针实例,针对C与C++交换指针的方法进行了较为详细的对比分析,非常具有实用价值,需要的朋友可以参考下
本文实例讲述了C++交换指针的方法。。具体分析如下:
通常情况下,我们只是对普通数据进行交换,交换指针的问题很少涉及,这里总结下,也方便我们以后查阅。
首先看下整型两个数据的交换(这个比较简单,就不多介绍了),核心代码如下:
?
- void m_swap(int *a,int *b) {
- int tmp = *a; *a = *b;
- *b = tmp; }
指针是内存地址,应该也算是整型变量,交换两个指针和交换两个整型变量类似,下面以两种方式进行。
传统C方式:
可以通过传递指向指针的指针来进行交换,核心代码如下:
- void m_swap(int **a,int **b) {
- int *tmp = *a; *a = *b;
- *b = tmp; }
demo示例如下:
- #include <iostream> using namespace std;
- void m_swap(int **a,int **b)
- { int *tmp = *a;
- *a = *b; *b = tmp;
- }
- int main() {
- int a=10,b=20; int *pa = &a,*pb = &b;
- cout<<"a = "<<a<<" , b = "<<b<<endl; cout<<"*pa = "<<*pa<<" , *pb = "<<*pb<<endl;










