#include <iostream> using namespace std; void swap1(int a,int b) { int c=a; a=b; b=c; } void swap2(int* a,int* b) { int c=*a; *a=*b; *b=c; } void swap3(int& a,int& b) { int c=a; a=b; b=c; } void swap4(const char* pa,const char* pb) { const char* pc=pa; pa=pb; pb=pc; } void swap5(const char** pa,const char** pb) { const char* pc=*pa; *pa=*pb; *pb=pc; } void swap6(const char*& pa,const char*& pb)//指针的引用 { const char* pc=pa; pa=pb; pb=pc; } struct Student { char name[128]; int age; }; void print(const Student& s)//引用效率高 { cout<<s.name<<","<<s.age<<endl; } double calcircle(double r,double& area) //面积和周长是输出参数,引用方式作为输出 { area=3.14*r*r; return 2*3.14*r; } int main(void) { int a=10,b=20; swap1(a,b); cout<<"swap1:"<<a<<","<<b<<endl; swap2(&a,&b); cout<<"swap2:"<<a<<","<<b<<endl; swap3(a,b); cout<<"swap3:"<<a<<","<<b<<endl; const char* pa="hello"; const char* pb="world"; swap4(pa,pb); cout<<"swap4:"<<pa<<","<<pb<<endl; swap5(&pa,&pb); cout<<"swap5:"<<pa<<","<<pb<<endl; swap6(pa,pb); cout<<"swap5:"<<pa<<","<<pb<<endl; Student s={"张飞",28}; print(s); cout<<s.name<<","<<s.age<<endl; double area; double c=calcircle(3,area); cout<<"周长:"<<c<<",面积:"<<area<<endl; return 0; }