C++基本功:从一个左右值问题出发,侃侃C++的引用[2]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 redstar81 的 blog

        rpchar rpchar;      //wrong:not initialized.........
        rpchar = str;
        */
       
        rpchar rpchar = str;
        cout<<str<<endl<<rpchar<<endl;
       
        getchar();
}
*/

/***********
/*结论:对于int& a;引用实际是一种隐式指针,是方便编程而引入的,识别由编译器支持
.
        在函数的使用中.可把它理解为跟后面的结合. int (&a);
        在传递参数的过程中跟取地址值意思差不多.
/*     而在函数内部使用过程中则相当与数值.你可把它看作便利的原因.其实引用&
/*      是一个能自动被编译器逆向引用的常量型指针
总结:      ...
/*  a.常规使用:
/*                    1.   int a = 100;
/*                         int &b = a;
/*                    2.   int a = 100;
/*                         int &b = a;
/*                         int &c = b;
/*                    3.   int a = 100;
/*                         int &b;  //必须定义时赋值,不同于指针(int a = 100; 
/*                                    // int *p; p =&a;) 
/*                         b = a;
/*                    4.   int &a = 100; //不可将常量赋予引用...

/*                         const int& a = 100;//可行,作全局看
/*                    5.   int a = 100;
/*                         int &b = a;
/*                         cout<<&b<<endl; //输出的是a(也是b)的地址..而不是指针
/*                                                   // 的地址...
/*                    6.   int a = 100;
/*                         int &b = a;
/*                         int *ptr;    
/*                         ptr = &a;
/*                         cout<<a<<b<<*ptr<<endl;  //结果是一样的..注意*ptr.
.
/*                    7.   int a =100;
/*                         int b = 200;

本文关键:C++、引用
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top