常量指针与指向常量的指针以及“引用”的相关注意点
2012-08-12 12:39
429 查看
第一部分:常量指针与指向常量的指针
① T * const p = new T ; //常量指针,指向非常量T
②T const *p = new T ;// 非常量指针,指向常量T
const T *p = new T ;// 非常量指针,指向常量T
这两种形式是等价的。
③const T * const p = new T;//常量指针,指向常量T
第二部分:“引用”的相关注意点
①引用和指针之间存在的三大区别:其一,不存在空引用(null reference);其二,所有引用都要初始化;期三,一个引用永远指向用来对他初始化的那个对象。
②一个指向非常量的引用是不可以用字面值或临时值进行初始化的
double &d = 12.3;//错误
const double &cd = 12.3 ;//正确
当一个指向常量的引用采用一个字面值来初始化时,该引用实际上被设置为指向“采用该字面值初始化”的一个临时位置。因此,cd并非真的指向字面值12.3,而是指向一个采用12.3初始化的、类型为double的临时变量。
① T * const p = new T ; //常量指针,指向非常量T
②T const *p = new T ;// 非常量指针,指向常量T
const T *p = new T ;// 非常量指针,指向常量T
这两种形式是等价的。
③const T * const p = new T;//常量指针,指向常量T
第二部分:“引用”的相关注意点
①引用和指针之间存在的三大区别:其一,不存在空引用(null reference);其二,所有引用都要初始化;期三,一个引用永远指向用来对他初始化的那个对象。
②一个指向非常量的引用是不可以用字面值或临时值进行初始化的
double &d = 12.3;//错误
const double &cd = 12.3 ;//正确
当一个指向常量的引用采用一个字面值来初始化时,该引用实际上被设置为指向“采用该字面值初始化”的一个临时位置。因此,cd并非真的指向字面值12.3,而是指向一个采用12.3初始化的、类型为double的临时变量。
相关文章推荐
- 21.输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判
- 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)
- 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序
- 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序
- 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序
- 引用,引用形参,指针形参与指向指针的引用形参,内存泄露及free相关
- [*注意指向常量的字符指针变量*]用指向常量的字符指针变量和字符数组方法把字符串a复制到字符串b中
- C语言——常量指针、指针常量以及指向常量的指针常量三者区别详解
- 指针相关操作 与引用比较 指向指针的指针
- 二维指针,二维数组,以及指向数组的指针的相关问题 .
- C++中 常量引用、指向常量的指针、常量指针的区别
- 【C/C++】常量指针、指针常量以及指向常量的指针常量
- js的this指针指向谁,以及相关的call、apply、bind方法
- 二维指针,二维数组,以及指向数组的指针的相关问题
- 二维指针,二维数组,以及指向数组的指针的相关问题
- 辨析对常量的引用、指向常量的指针、常量指针
- 指针总结以及常量指针与指向常量的指针与指向常量的常指针
- 指向常量的指针用法和注意事项
- 常量指针、指针常量以及指向常量的指针常量
- 学习笔记——关于指向常量指针的解引用的发现