C++编程总结
第一部分:namespace
1.namespace 可以想象 子函数体,narugspace A,
想用A中的函数,必须通liA::子函数或变量即可
2.指针 *P ,&ibia代表什么意思?
这里只需要记住&代表地址,*代表内容。
3.指针的具体做法:
一个数组和指针之间的关系,这里需要特别注意一下:
#include <iostream>
using namespace std;
const int MAX = 3;
int main ()
{
int var[MAX] = {10, 100, 200};
int *ptr;
// 指针中最后一个元素的地址
ptr = &var[MAX-1];
for (int i = MAX; i > 0; i--)
{
cout << "Address of var[" << i << "] = ";
cout << ptr << endl;
cout << "Value of var[" << i << "] = ";
cout << *ptr << endl;
// 移动到下一个位置
ptr--;
}
return 0;
}
int var[MAX] = {10, 100, 200};
int *ptr; // 指针中的数组地址
ptr = var;
如何区分呢,就是var前面不加&,即系统默认的就是将第0个元素的地址传向了指针,若ptr = &var[0 or 1] 前面出现了&该符号,则必须要写出var数组后面的数字。
指针引用,int &r=i,这里的&代表引用的意思,不要混淆咯,这里列举一个例子,
#include <iostream>
using namespace std;
int main ()
{
// 声明简单的变量
int i;
double d;
// 声明引用变量
int& r = i;
double& s = d;
i = 5;
cout << "Value of i : " << i << endl;
cout << "Value of i reference : " << r << endl;
d = 11.7;
cout << "Value of d : " << d << endl;
cout << "Value of d reference : " << s << endl;
return 0;
}
上述的例子可以看出该引用将值进行了赋值。下面一个例子是一个具体的应用。
引用来实现引用调用函数。
#include <iostream>
using namespace std;
// 函数声明
void swap(int& x, int& y);
int main ()
{
// 局部变量声明
int a = 100;
int b = 200;
cout << "交换前,a 的值:" << a << endl;
cout << "交换前,b 的值:" << b << endl;
/* 调用函数来交换值 */
swap(a, b);
cout << "交换后,a 的值:" << a << endl;
cout << "交换后,b 的值:" << b << endl;
return 0;
}
// 函数定义
void swap(int& x, int& y)
{
int temp;
temp = x; /* 保存地址 x 的值 */
x = y; /* 把 y 赋值给 x */
y = temp; /* 把 x 赋值给 y */
return;
}