形参
引用解释:
(1)引用仅是变量的别名,而不是实实在在地定义了一个变量,因此引用本身并不占用内存,而是和目标变量共同指向目标变量的内存地址,即共用内存
(2)引用和目标变量的地址是一样的,对引用的操作与对变量直接操作完全一样,即对引用的修改就是对目标变量的修改
(3)表达式中的取地址符&不再是取变量的地址,而是用来表示该变量是引用类型的变量。
(4)定义一个引用时,必须对其初始化,即 引用了谁
参数调用:
几种形参方式 - 空间分配比较
(1)使用一般变量传递函数的参数,即值传递,当发生函数调用时,需要给形参分配存储单元,形参变量是实参变量的副本;
   如果传递的是对象,还将调用拷贝构造函数
(2)使用指针作为函数的参数在被调函数中同样要给形参分配存储单元,调用时必须用变量的地址作为实参
(2)使用引用传递函数的参数,在内存中并没有产生实参的副本
代码(部分):
bool push(PCB &pcb) //防止在对插入队列操作时链接到错误的地址
{
  略..,
}
bool push(PCB pcb)
{
  略..,
}
两种对比后 输出的地址不同,且可能会引起系统错误结束
vector
vector的其他操作
v.empty();//检查是否为空
v.capacity();//返回当前vector中最大可以存储数据的容量
v.size();//返回v中元素的个数
v[n];//获取v中第n个元素
使用引用改变vector中的元素
vector<int> v{1,2,3,4,5,6,7,8,9};
for(auto &i:v)
{
i*=100;
cout<<i<<endl;
}
使用c++11编译
gcc/g++以c++11编译
方法一:
//在程序头加上预定义编译器命令
#pragma GCC diagnostic error "-std=c++11"
//通过#pragma 指示 GCC编译器处理错误的方式以c++11标准;
方法二:
//在编译指令中加-std=c++11
g++ test.cpp -o test -std=c++11
//在给一个模板类定义别名,用using时,g++会报错
error: expected unqualified-id before 'using'
//就这个错误就折腾了我一下午;结果发现是编译器的问题;