/××××××××××××××××××××××××××××××××××××××××
1引用
1引用作参数不能传递实际值,需要通过变量传递。如:
定将了一个函数Int fun( int & a);
现在调用些函数时,采用如下方式便会出错
fun(4);
像上面直接将实际值“4”传递给fun函数便会出错,传递的定要是一个变量。如:
Int ra=4;
fun(ra);
这样便正确了。
2 将引用赋值给一个变量,其实质是将引用的内容复制一份给该变量。可将引用赋值给一个引用变量。如:
Int a=3;
Int &b=a;
Int c=b;
Int &d=b
这时我们可以看到a和b的地址是相同的,而以不同。尽管是用引用变量b给c赋值的,但c并不是一个对a的引用,而是一个实际的int型变量,它的值就为a。而d的地址t和b的地址是相同的。
下面一段程序:
#include <iostream>
using namespace std;
class A
{
int a;
public:
A(int r):a(r){};
int & get() {return a; }
};
int main(int argc, char *argv[])
{
A * a=new A(3);
a->get()=4;
int b=a->get();
return 0;
}
在a->get()=4这条语句中,a->get()得到的是a->a成员变量的引用,通过该引用,我们就可以间接的修改a->a这个私有成员的值。如果想使用引用的方便,又不想该引用去修改相应的值,就应当声明为常引用。
很多的文字我就不说了,我觉得首先你要选好一些书籍,特别不是计算机的专业的,不能听人家乱说,有些国产教材有着很多的fans,特别谭某人的书,有些人说他的c++也写的好,个人认为不是很好
先看看一些入门的,我觉得c++ primer plus 第四或者第五版挺适合入门
然后就是看c++ primer 现在有第四版本了,我个人认为第三版的好
之后看看c++编程思想
有了这些之后有时间再看看c++程序设计语言,c9++之父写的
书籍有很多,可以网上查查还有什么好的