C++学习 c++中常量定义以及值传递和传递变量别名。

1、C++提供了const来定义常量const float PI=3.14159.代替C中#define PI 3.14159

2、

#include<iostream>
using namespace std;
void wap(int a, int b)
{
 int temp;
 temp = a;
 a = b;
 b = temp;
}

int main()
{
 int i, j;
 cin >> i >> j;
 wap(i, j);
 cout << i <<","<< j << endl;
 return 0;
}

解释:将变量名作为实参,这时传给形参的是变量的值,传递是单向的。因为形参和实参并不在同一个存储单元,

解决方案:传递变量地址。使得形参得到变量地址,这时形参指针变量指向实参变量的单元。

#include<iostream>
using namespace std;
void wap(int *a, int *b)
{
 int temp;
 temp = *a;
 *a = *b;
 *b = temp;
}

int main()
{
 int i, j;
 cin >> i >> j;
 wap(&i, &j);
 cout << i <<","<< j << endl;
 return 0;
}

结果:cin 2 3

           cout 3 2

解释:此方法也是属于值传递,向一个变量指针传送一个地址,在通过指针变量访问有关变量。

方案二 (传送变量别名)

#include<iostream>
using namespace std;
void wap(int &a, int &b)
{
 int temp;
 temp = a;
 a = b;
 b = temp;
}

int main()
{
 int i, j;
 cin >> i >> j;
 wap(i, j);
 cout << i <<","<< j << endl;
 return 0;
}

同上。

原文地址:https://www.cnblogs.com/fendoudemangguoailiulian/p/7536060.html