Const 与 引用

来源:互联网 发布:python scikit神经网络 编辑:程序博客网 时间:2024/05/16 17:50

引用是别名

当引用初始化后,只要该引用存在,他就保持绑定到初始化时指向的对象,不可能将引用绑定到另一个对象

 

const引用

const引用是指向const对象的引用

 

const int ival = 1024;

const int &refval = ival; //OK 指向的const对象

int &ref2 = ival; //error 不是指向const的引用

 

非const引用只能绑定到与该引用同类型的对象。

const引用则可以绑定到不同但相关的类型的对象或绑定到右值

指针形参

可以将指向const对象的指针初始化为指向非const对象,但不可以让指向非const对象的指针指向const。

 

cosnt形参

在函数调用时,如果该函数使用非引用的非const形参,则既可给该函数产地const实参也可以传递非const实参。

 

传递指向指针的引用

实现两个指针的交换使用指向指针的引用。

void ptrswap(int *&v1,int *&V2)

{

    int *temp = v2;

    v2 = v1;

    v1 = temp;

}

形参 int *&v1;

v1是一个引用,与指向int型对象的指针相关联。v1是专递给ptrswap函数的任意指针的别名。