C++ 指针和引用的区别
2013-03-23 20:58
309 查看
今天看到C++指针,就顺便温习下 指针和引用的区别。。
1. 首先就是 引用必须被初始化,而指针不必。所以如果你使用一个变量并让它指向一个对象,但是该变量可能在某些时候不指向任何对象,这是应该把变量声明为指针;相反如果你再设计的时候就确定使用的变量任何时候都不允许为空,那么应该将变量声明为引用。由于引用不存在指向空值,因此引用的代码效率要比指针高。
string& s;//错误,引用必须被初始化
string str = "123456";
string& s = str;//让s指向str变量
2. 合法性区别:使用引用之前不需要测试其合法性,而指针总是被测试,防止其为空。
3. 修改区别:引用初始化以后不能修改,指针则可以修改其指向的对象。
4. 应用情况:由以上三点大致可以得知一般以下情况应该使用指针:
(1)当有可能存在不指向任何对象的变量时,使用指针变量。
(2)当在不同时刻指向不同对象时,使用指针变量。
1. 首先就是 引用必须被初始化,而指针不必。所以如果你使用一个变量并让它指向一个对象,但是该变量可能在某些时候不指向任何对象,这是应该把变量声明为指针;相反如果你再设计的时候就确定使用的变量任何时候都不允许为空,那么应该将变量声明为引用。由于引用不存在指向空值,因此引用的代码效率要比指针高。
string& s;//错误,引用必须被初始化
string str = "123456";
string& s = str;//让s指向str变量
2. 合法性区别:使用引用之前不需要测试其合法性,而指针总是被测试,防止其为空。
3. 修改区别:引用初始化以后不能修改,指针则可以修改其指向的对象。
4. 应用情况:由以上三点大致可以得知一般以下情况应该使用指针:
(1)当有可能存在不指向任何对象的变量时,使用指针变量。
(2)当在不同时刻指向不同对象时,使用指针变量。
相关文章推荐
- 浅谈C++中指针和引用的区别
- More Effective C++:指针与引用的区别
- 【C/C++】指针与引用的区别
- C++中引用和指针的区别
- c++引用与指针的区别(着重理解)
- C++中传值参数和引用参数和指针怎样区别?
- C++ 中引用(reference)和指针的区别
- C++中引用和指针的区别
- C++中指针和引用的区别
- c++中指针,指针的引用,指针的指针的区别
- c++中指针,指针的引用,指针的指针的区别
- java中的引用和C++中的指针的区别
- More Effective C++:指针与引用的区别
- Java中引用数据类型与C++引用和指针的区别
- C++中引用传递与指针传递区别
- 浅谈C++中指针和引用的区别
- C++中引用与指针的区别(详细介绍)
- C++指针和引用的区别与联系
- C++中引用和指针的区别
- C++中指针和引用的区别