当前位置: 首页 > news >正文

网站建设公司 跨界鱼科技专业国内ip地址 免费

网站建设公司 跨界鱼科技专业,国内ip地址 免费,电脑网站做名片,网店logo设计文章目录什么是 const 常量限定符const 的初始化const 的默认作用域const 的引用例外情况const 与指针const指针的声明指向 const 的指针const指针指向 const 的 const指针什么是 const 常量限定符 Q:什么是 const 常量限定符? A:const名叫常…

文章目录

  • 什么是 const 常量限定符
  • const 的初始化
  • const 的默认作用域
  • const 的引用
    • 例外情况
  • const 与指针
    • const指针的声明
    • 指向 const 的指针
    • const指针
    • 指向 const 的 const指针

什么是 const 常量限定符

Q:什么是 const 常量限定符?

A:const名叫常量限定符,用来限定特定变量,以通知编译器该变量是不可修改的。习惯性的使用const,可以避免在函数中对某些不应修改的变量造成可能的改动。

const 的初始化

const用来修饰变量的值时,变量的值不可改变。举个例子,一天有24个小时,不会变成别的数字,我们就可以在程序中这样定义时间。

	const int hour = 24;				//24小时

这样操作以后,hour就变成了一个常量,任何试图对hour的赋值操作都是错误的。

	hour = 10;   						//错误

因为const类型一旦创建它的值就无法进行更改,所以const对象必须进行初始化。

	const int i = get_line();		//正确const int j = 1;						//正确const int k;							//错误

const 的默认作用域

const修饰的常变量,默认仅在本文件内有效。
按照上面的例子来讲,编译器在编译时会默认将hour24进行替换。要做到这一点,在编译时编译器需要知道常变量的初始值。当程序源文件很多时,在每一文件中都需要访问到常变量的初始值,为了做到这一点,每一个源文件中都需要有对常变量的定义,但是这样会导致对一个变量的重复定义。为了解决这个矛盾,我们约定常变量的默认作用域仅限于本文件,这相当于在不同的文件中定义了多个独立的同名变量。
如果想在多个文件中使用同一个常变量,可以通过在常变量前面添加extern关键字来解决,这样常变量就只用定义一次就可以了。

	extern const int hour = 24;				//24小时

const 的引用

Q:什么是对常量的引用?

A:可以把引用绑定到const对象上,就像绑定到其他对象上一样,这就是对常量的引用。与普通引用不同的是,对常量的引用不能被用于修改它所绑定的对象。

const int ci = 1024;
const int &r1 = ci;   // 正确
r1 = 42; 			  // 错误
int &r2 = ci;   	  // 错误

因为r1是对常量的引用,不能赋值,所以不正确。
因为r2是一个非常量引用指向一个常量对象,所以不正确。

例外情况

上面我们讲了引用的类型必须和所引用的对象的类型一致,但是有两个例外。

其中一种例外情况是:初始化常量引用时,允许用任意表达式作为初始值,只要该表达式的结果能转换成引用的类型即可。允许为一个常量引用绑定非常量的对象、字面值,甚至是个一般表达式。
第二种例外情况是:对const的引用可能引用一个并非const的对象。常量引用仅对引用可参与的操作做出了限定,对于引用的对象本身是不是一个常量未作限定。因为对象也可能是个非常量,所以允许通过其他途径改变它的值。

const 与指针

const指针必须初始化,一旦初始化完成,则它的值就不能再改变了。

const指针的声明

在声明指针时,可以在类型的前或者后或者前后使用关键字 conat,他们的含义都不同。

	const int *p1			// 指向整形常量的指针,它指向的值不能修改。int * const p2			// 指向整形的常量指针,它不能再指向别的变量,但指向(变量)的值可以修改。const int * const p3	// 指向整形常量的常量指针。它既不能再指向别的常量,指向的值也不能修改。

指向 const 的指针

首先指向整形常量的指针是一个指针,这个指针是指向一个const 类型的指针。

	const int *p1			// 指向整形常量的指针,它指向的值不能修改。int const * p2			// 指向整形的常量指针,它指向的值不能修改。

这种的特点是地址可以随便指,但是地址里面保存的值却是不能改变。

const指针

首先const指针是一个指针,这个指针是const类型的,也就是这个指针变量的地址不能变,一直指向这个地址,地址所被保存的内容是可变的。

	int * const p2			// 指向整形的常量指针,它不能再指向别的变量,但指向(变量)的值可以修改。

指向 const 的 const指针

	const int * const p3	// 指向整形常量的常量指针。它既不能再指向别的常量,指向的值也不能修改。

指针前面有const进行修饰,这个指针p3就是一个指针常量,所以指针的地址就被固定了,只能进行初始化。 而对于 *p3 而言,前面又有const进行修饰,所以*p 就是一个常量了,也就是p指向地址,地址上保存的数据是一个常量,不能被改变的。

http://www.tj-hxxt.cn/news/110694.html

相关文章:

  • 网站维护多少钱一个月seo就业
  • wordpress文件上传到那个文件青岛网站seo公司
  • 揭阳网站建设seo高级优化技巧
  • 绵阳网站开发hao123网址大全浏览器设为主页
  • 做app的网站今日小说搜索百度风云榜
  • 重庆营销型网站开发价格谷歌seo需要做什么的
  • 注册网站地址深圳外贸seo
  • 买了个区域名怎么做网站万网域名
  • 定制网站的价格低seo广州工作好吗
  • 郑州官方网站建设首选华苏科技网络营销工具及其特点
  • 南京网站优化步骤网站seo诊断工具
  • 网站文章页图片不显示图片西安网络推广运营公司
  • java动态web网站开发sem代运营推广公司
  • 织梦网站如何做二级导航栏上海百度推广
  • 手机网站注册页面营销案例最新
  • 上海抖音seo百度排名优化专家
  • 找兼职h5网站开发人员百度关键词排名代发
  • 免费直播app软件下载seo免费课程视频
  • 哪些网站的登陆界面做的好看南京seo按天计费
  • 上海专业网站建设网关键词优化骗局
  • wordpress网站管理系统教育机构培训
  • 阿里巴巴的网站应该怎么做win7怎么优化最流畅
  • 好看 大气的网站房地产网站建设
  • 动态网站开发 文献综述中国培训网是国家公认的吗
  • 建设推广营销型网站应该注意什么域名注册 万网
  • title 网站建设公司实力长沙seo排名外包
  • 南昌网站建设利润那种网站怎么搜关键词
  • 专业网站建设哪里好推广策划方案模板
  • 闵行网站开发青岛网站建设有限公司
  • 企业网站做推广软文推广渠道主要有