c++ 引用

引用有两种:左值引用,右值引用。

引用是复合类型,类似于起别名,通过在变量前边加 & 来定义。

int a = 10;
int b = 11
int& ra = a;
int&& rb = b+1; //只能引用右值

1.定义引用时,必须指明白要引用的对象。

2.左值引用引用的对象必须是一个左值,const可以引用临时变量

    long& rdata = 10; //error
    const long& rdata = 10; //Okay

3.与指针差异就是访问数据方式不一样

    long data_0 = 10;

    long *pdata = &data_0;
    long& rdata = data_0;

    std::cout << *pdata << " " << rdata << std::endl;

4.右值引用必须引用右值

    long data = 10;

    long&& rdata = data;    //error
    long&& rdata = data+1;

 

posted on 2018-07-15 15:48  rivsidn  阅读(86)  评论(0)    收藏  举报

导航