您的位置:首页 > 编程语言 > C语言/C++

C++编程思想(2nd卷一):引用和拷贝构造函数

2009-06-26 22:21 218 查看
引用就像能自动地被编译器间接引用的常量型指针。它通常用于函数的参数表中和函数的返回值,但也可以独立使用。

使用引用时有一定的规则:

1.当引用被创建时,它必须被初始化(指针则可以在任何时候被初始化)。

2.一旦一个引用被初始化为指向一个对象,它就不能改变为另一个对象的引用(指针则可以在任何时候指向另一个对象)。

3.不可能有NULL引用。必须确保引用是和一块合法的存储单元关联。

最经常看见引用的地方是在函数参数和返回值中。当引用被做函数参数时,在函数内任何对引用的更改将对函数外的参数产生改变。如果从函数中返回一个引用,必须像从函数中返回一个指针一样对待。当函数返回时,无论引用关联的是什么都应该存在,否则,将不知道指向哪一个内存。

指针引用:

如果想改变指针本身而不是它所指向的内容,可以把函数参数变成指针的引用,用不着取得指针的地址。

void increment (int*& i) { i++; }

这样,指针本身增加了,而不是它指向的内容增加了。

因为拷贝构造函数实现按值传递方式的参数传递和返回,所以在简单结构情况下,编译器将有效地创建一个默认拷贝构造函数。

有一个简答的技术防止通过按值传递方式传递:声明一个私有拷贝构造函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: