#include<stdio.h>voidswap(int*p,int*q){
*p ^=*q;*q ^=*p;*p ^=*q;}intmain(){
int a =100;int b =10;printf("a= %d,b= %d \n",a,b);//c语言写法,取地址swap(&a,&b);printf("a= %d \n",a);printf("b= %d \n",b);return0;}
c++写法
#include<stdio.h>voidswap(int&a,int&b)//相当于取小名{
a ^= b;
b ^= a;
a ^= b;}intmain(){
int a =100;int b =10;printf("a= %d,b= %d \n",a,b);//c++语言写法,引用,相当于取别名swap(a,b);printf("a= %d \n",a);printf("b= %d \n",b);return0;}
在 int getdata(void) 中,void 表示函数 getdata 不接受任何参数,在 C 和 C++ 中,如果一个函数不需要任何参数,可以使用 void 关键字来表示空参数列表。这样做的话,相当于操作系统只是拷贝了这个快捷方式(值),并没有将它快捷方式中包含的文件(内存)给拷贝过来,在析构函数中,已经将x的内存(相当于包含的文件)delete,而A y = x,在执行析构函数的delete就会出错,因为那块内存本身不存在,出现了段错误;构造函数是在对象创建的时候,主动调用的函数。