这些个类型的组合有多种变化,容易产生混淆,这里的T指数据类型,在这里来分析一下这些不同组合的情况和含义。由于本人才疏学浅,不足之处,还请多多指教,大家共同探讨和学习。
-
const T
所修饰变量的内容不能被修改
-
const T*
所修饰的变量是个指针,这个指针的指向不能被修改;要修改变量的内容,不能够改变指针指向,但可以通过解引用的方式直接赋值
-
T *const
所修饰的变量是个指针,这个指针的内容不能被修改;要修改变量的内容,不能够改变指针的内容,但可以通过改变指针指向来修改
-
T& 、const T&
引用、常引用,常引用一旦指向一个实体,就不能再被指向其它实体
- 常引用可以被变量或者引用初始化
- 引用不能被常量或者常引用初始化,但变量可以被常引用初始化
-
const T*& 、T*const&
指向常量对象的指针的引用,这可以分两步来理解:
- const T*是指向常量的指针;
- const T*&指向常量的指针的引用
const T*& 、T*const&相同点:
- 都是对指针的引用
const T*& 、T*const&不同点:
- 这个与const T*、T*const类似,只是分别多了个引用和常引用
- 要修改const T* &所修饰变量的值,因为const T*是个常量指针,所以不能够通过解引用方式直接赋值;但是可以改变引用的对象,原来引用的对象是const T*
- 要修改T* const &所修饰变量的值,因为这个引用是常引用,所以引用的对象无法改变;但可以通过解引用的方式对其进行赋值
继续阅读与本文标签相同的文章
上一篇 :
restlet简介
-
《中国工夫》聚焦“中国智造”
2026-05-18栏目: 教程
-
基于 APIGateway 打造生产级别的 Knative 服务
2026-05-18栏目: 教程
-
棱镜丨圆通回应“承诺达”解散:由直营模式改回加盟商授权经营
2026-05-18栏目: 教程
-
自从有了它,我在微信上吵架就没输过!
2026-05-18栏目: 教程
-
OTT终端不断地在全球范围扩展,未来万物互联不再是梦想
2026-05-18栏目: 教程
