请描述C++中const关键字的作用,c++const关键字的作用

  请描述C++中const关键字的作用,c++const关键字的作用

  在C语言程序中,const关键字也是经常使用的关键字,那么使用const关键字的目的是什么呢?其实在程序中使用const关键字的主要目的是向用户传达设计者的一些意图。

  其实无论我们用const关键字声明变量还是参数,其目的都是告诉用户这个变量或者参数的应用目的。正确使用关键字const可以使编译器有效地保护那些不希望被改变的变量或参数,防止它们被代码无意中修改。所以使用const关键字可以避免一些不必要的错误。

  我们已经解释了const关键字的作用。接下来,我们将进一步讨论const关键字的用法:

  (1)由1)const关键字修改的变量

  const关键字最常见的用途是修改变量。由const关键字修改的变量可以被视为只读属性。比如:

  const int a=10

  int b=0;

  b=a;(一)这种说法是正确的。

  a=b;(二)此语句错误,编译不正确,因为A有只读属性。

  虽然由const关键字修改的变量具有只读属性,但它不能简单地等同于常数。其实C语言中const关键字修饰的变量只是语法常量。

  此外,用const关键字修饰的变量在声明时必须初始化。这是显而易见的。因为它是只读的,所以当然必须有一个确定的值可用于赎回,而不是不确定性。例如:

  const int a=10//合法用法

  const int a;//非法,导致编译错误

  还应该注意,用const关键字定义的变量是全局的。所以使用的时候需要注意。

  通常用define来定义一个宏,比如#define PI 3.1415976。以后无论什么时候需要用到pi,我们都可以直接使用PI,预处理器会在编译时用3.1415976代替所有PI。这样很方便,但是因为编译器不会检查,如果使用不慎,就会引入错误,而且这样的错误很难被发现。而且,我们无法获取PI的地址,也无法传递指向PI的指针或引用。

  所以我们经常用const关键字修改的变量来代替宏。const声明的变量虽然增加了分配空间,但是可以保证类型安全,得到它的指针。Const消除了预处理程序的值替换带来的不良影响,提供了良好的类型检查形式和安全性,所以理解const关键字对我们的编程有很大的帮助。

  (2)指针变量被2)const关键字修改

  除了普通变量之外,Const关键字还经常用于修改指针变量。当然,在讨论之前,我们需要明确两个概念:const指针和指向常量的指针。Const pointer是指指针变量的值一旦初始化就不能改变,所以必须初始化。指向常数的指针是其值为常数的指针。

  声明指针变量时,const关键字的位置决定了它所定义的指针变量的含义。例如,我们定义:

  (a)int * const p;该语句指示一个指向整形的常量指针。它不能指向其他变量,但是指向的值(变量)可以修改。

  (b)const int * p;该语句表示一个指向整型常量的指针,它所指向的值不能被修改。

  (c)int const * p;这个语句和B的意思一样,表示一个指针,指向一个值不能修改的整型常量。

  (d)常数int *常数p;该语句表示一个指向整型常量的常量指针。它不能指向其他常数,它所指向的值也不能修改。

  (e)int常数* const p;这个语句和d的意思一样,都是指向整型常量的const指针。它不能指向其他常数,它所指向的值也不能修改。

  写定义很混乱,但是有一些技巧可以帮助我们理解。看看右边const关键字后面的内容。当type在const关键字的右边时,表示值是常量;当const关键字的右边是指针变量时,意味着指针本身是常量。

  (3)由3)const关键字修改的函数参数

  Const关键字也常用于修改函数的形参。当关键字const修改一个函数参数时,通常用在参数是指针或引用,并且只能修改输入参数的情况下。如果输入参数是按值传递的,函数会自动生成一个临时变量来复制参数,所以参数不需要保护,所以不用const修饰。

  const关键字修改函数的输入参数形式如下:void函数(const int * a);或者void函数(const int a);没关系。C标准库中有很多这样的应用,比如字符串处理函数:

  字符串复制函数:char char *strcpy(char *strDest,const char * str src);

  返回字符串长度函数:intstrlen(const char * str);

  以上两个函数是用const关键字保护源字符串,防止无意的修改改变源字符串的值。

  显然,使用const关键字修改函数参数是为了保护输入参数。调用函数时,用对应的变量初始化const常量,然后在函数体中,根据const修改的部分进行常量量化。如果参数为const int * a,则传递的指针所指向的内容不能改变,从而保护了原指针所指向的内容;如果形参是const int a,就不能改变传递的引用对象,这样就保护了原对象的属性。

  (4)由4)const关键字修饰的函数的返回值

  Const关键字有时用于修改函数的返回值。在这种情况下,一般用它来修改返回的指针或引用,以保护指针所指向或引用的内容不被修改。例如:

  const char * function(void);

  这种用法很少见,所以这里只提一下。

  综上所述,const关键字不仅功能强大,而且对我们的编程也很有帮助,前提是我们真的了解它的用法。

  欢迎关注:

  想更方便及时的阅读相关文章,请关注我的微信微信官方账号【木南创智】

  转载请联系作者取得转载授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • office2010激活密钥大全 怎么永久激活office2010
  • project2010产品密钥免费_project2010激活密钥永久激活码
  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • chatgpt是什么?为什么这么火?
  • ChatGPT为什么注册不了?OpenAI ChatGPT的账号哪里可以注册?
  • OpenAI ChatGPT怎么注册账号?ChatGPT账号注册教程
  • chatgpt什么意思,什么是ChatGPT ?
  • CAD中怎么复制图形标注尺寸不变,CAD中怎么复制图形线性不变
  • cad中怎么创建并使用脚本文件,cad怎么运行脚本
  • cad中快速计算器的功能,cad怎么快速计算
  • cad中快速修改单位的方法有哪些,cad中快速修改单位的方法是
  • cad中心点画椭圆怎么做,cad轴测图怎么画椭圆
  • CAD中常用的快捷键,cad各种快捷键的用法
  • 留言与评论(共有 条评论)
       
    验证码: