C++语言完全兼容了C语言
C++程序的源代码文件是以.cpp为结尾的
code1:以C标准库形式编写C++源代码
#include<stdio.h>
int main()
{
printf(" Hello CPP\n");
return 0;
}
code2:以典型的C++代码形式编写的C++源代码
#include<iostream>
using namespace std;
int main()
{
cout << "Hello CPP" << endl;
return 0;
}
2 新的数据类型—引用
2.1概念:引用是一个变量的别名,不占用内存空间。
2.2语法格式:
数据类型& 引用名
注:&符号在左右两边都是操作数时,表示按位与
&符号在左边没有东西,右边是变量时,表示取地址
&符号的左边是数据类型是,它和数据类型表示引用
2.3 使用
声明一个引用
① 引用必须初始化。(先有变量再有引用)
#include <iostream>
using namespace std;
int main()
{
int a=199;
int& pa = a;
cout << &pa<<endl;
cout << &a<<endl;
pa = 8848;
cout <<a<<endl;
return 0;
}
② 引用的赋值
引用被赋值和使用引用去给别的变量赋值都是意味着所引用的变量本身在做操作
#include <iostream>
using namespace std;
int main()
{
int b = 200;
int& pb = b;
int c;
int d = -2;
c = pb;//引用赋值给变量
cout << c<<endl;
pb = d;//b = d;变量给引用赋值
cout << pb << "," << b <<endl;
return 0;
}
③ 引用能否起别名
引用可以起别名,但实际上是给对应的那个变量起别名。由于引用不占内存,所以不存在引用的引用(不存在二级引用)
④ 多个引用引用同一个变量
同一个变量可以起多个别名
#include <iostream>
using namespace std;
int main()
{
int x = 499;
int& px1 = x;
int& px2 = x;
cout << px1 << " "<<px2<<" "<<x<<endl;
return 0;
}
⑤ 引用的类型和所引用的变量的类型需要一致
#include <iostream>
using namespace std;
int main()
{
//int z= 5;
//int& pz = z;
//cout <<sizeof(pz)<<endl;
int w=998;
char& pw = w;//引用的变量和被引用的变量类型应该一致
const int a = 100;
int& pa = a;
return 0;
}
⑥ 无法创建一个void类型的引用
⑦ 数组中的每个元素不能是引用
因为引用不占内存,无法区分出数组中的元素位置