C++中const什么意思?

 我来答
问明6E
高粉答主

2019-06-25 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:12.9万
展开全部

在标准C++中,这样定义的是一个常量,用来修饰内置类型变量,自定义对象,成员函数,返回值,函数参数。

const使用(类型):

1、用于指针的两种情况:const是一个左结合的类型修饰符.

int const*A;//A可变,*A不可变

int*const A;//A不可变,*A可变

2、限定函数的传递值参数:

void function(const int Var);//传递过来的参数在函数内不可以改变.

3、限定函数返回值型.

const int function();//此时const无意义

const myclassname function();//函数返回自定义类型myclassname.

4、限定函数类型.

void function()const;//常成员函数,常成员函数是不能改变成员变量值的函数。

扩展资料:

总结:

1、指针本身是常量不可变

(char*) const pContent;

const (char*) pContent;

2、指针所指向的内容是常量不可变

const (char) *pContent;

(char) const *pContent;

3、 两者都不可变

const char* const pContent;

4、其中区别方法:

沿着*号划一条线,

如果const位于*的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;

如果const位于*的右侧,const就是修饰指针本身,即指针本身是常量。

5、const修饰函数参数

const修饰函数参数是它最广泛的一种用途,它表示函数体中不能修改参数的值(包括参数本身的值或者参数其中包含的值)。它可以很好

void function(const int Var); //传递过来的参数在函数内不可以改变(无意义,因为Var本身就是形参)

void function(const char* Var); //参数指针所指内容为常量不可变

void function(char* const Var); //参数指针本身为常量不可变(也无意义, 因为char* Var也是形参)

参数为引用,为了增加效率同时防止修改。

6、修饰引用参数时:

void function(const Class& Var);//引用参数在函数内不可以改变

void function(const TYPE& Var); //引用参数在函数内为常量不可变

7、const 修饰函数返回值

const修饰函数返回值其实用的并不是很多,它的含义和const修饰普通变量以及指针的含义基本相同。

(1) const int fun1() 这个其实无意义,因为参数返回本身就是赋值。

(2) const int * fun2() 

8、调用时 const int *

参考资料:

百度百科——CONST(C中的CONST)

百度网友1b2789b
2019-06-01 · TA获得超过4592个赞
知道答主
回答量:40
采纳率:0%
帮助的人:6085
展开全部

const就是C++语言中的一个关键字,就是限定一个变量不允许被改变或者是更新,让这个变量产生静态作用。这样我们在观看别人代码的时候,能够清晰理解const所起的作用,也对理解对方的程序也有一定帮助。

扩展资料:

每个C++关键字都有特殊的含义。经过预处理后,关键字从预处理记号(preprocessing-token)中区出来,剩下的标识符作为记号(token),用于声明对象、函数、类型、命名空间等。不能声明与关键字同名的标识符。

各个版本的ISO C++都规定以下划线接大写字母起始的标识符保留给实现。编译器可以用这些保留标识符作为扩展关键字,这不保证可移植性。以下讨论ISO C++所保留的关键字。

const使用(类型):

1. 用于指针的两种情况:const是一个左结合的类型修饰符.

int const *A; //A可变,*A不可变

int *const A; //A不可变,*A可变

2.限定函数的传递值参数:

void function(const int Var); //传递过来的参数在函数内不可以改变.

3、限定函数返回值型.

const int function(); //此时const无意义

const myclassname function(); //函数返回自定义类型myclassname.

4、限定函数类型.

void function()const; //常成员函数, 常成员函数是不能改变成员变量值的函数。

5、const成员函数

我们定义的类的成员函数中,常常有一些成员函数不改变类的数据成员,也就是说,这些函数是"只读"函数,而有一些函数要修改类数据成员的值。如果把不改变数据成员的函数都加上const关键字进行标识,显然,可提高程序的可读性。其实,它还能提高程序的可靠性,已定义成const的成员函数,一旦企图修改数据成员的值,则编译器按错误处理。

6、const成员函数和const对象

实际上,const成员函数还有另外一项作用,即常量对象相关。对于内置的数据类型,我们可以定义它们的常量,用户自定义的类也一样,可以定义它们的常量对象。

参考资料来源:百度百科-const

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5713063
2019-06-21 · TA获得超过495个赞
知道答主
回答量:5
采纳率:0%
帮助的人:972
展开全部

const是一个C语言的关键字。

const 是constant的缩写,本意是不变的,不易改变的意思。

const 在C++中是用来修饰内置类型变量,自定义对象,成员函数,返回值,函数参数。

const关键字不能与static关键字同时使用,因为static关键字修饰静态成员函数,静态成员函数不含有this指针,即不能实例化,const成员函数必须具体到某一实例。

扩展资料:

(1)可以定义const常量,具有不可变性。例如:const int Max=100; Max++会产生错误; 

(2)便于进行类型检查,使编译器对处理内容有更多了解,消除了一些隐患。例如: void f(const           int i) { .........} 编译器就会知道i是一个常量,不允许修改; 

(3)可以避免意义模糊的数字出现,同样可以很方便地进行参数的调整和修改。 同宏定义一样,可           以做到不变则已,一变都变!

(4)可以保护被修饰的东西,防止意外的修改,增强程序的健壮性。 还是上面的例子,如果在函             数 体内修改了i,编译器就会报错;例如: void f(const int i) { i=10;//error! } 

(5) 可以节省空间,避免不必要的内存分配。

(6) 提高了效率。编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这            使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高。

参考资料来源:百度百科-const

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友943f66ac
2019-06-24 · TA获得超过1798个赞
知道答主
回答量:5
采纳率:100%
帮助的人:888
展开全部

const是一个C语言的关键字。

const 是constant的缩写,本意是不变的,不易改变的意思。

const 在C++中是用来修饰内置类型变量,自定义对象,成员函数,返回值,函数参数。

const关键字不能与static关键字同时使用,因为static关键字修饰静态成员函数,静态成员函数不含有this指针,即不能实例化,const成员函数必须具体到某一实例。

扩展资料:

1、可以定义const常量,具有不可变性。例如:const int Max=100; Max++会产生错误; 

2、便于进行类型检查,使编译器对处理内容有更多了解,消除了一些隐患。例如: voidf(constint 

i) { .........} 编译器就会知道i是一个常量,不允许修改; 

3、可以避免意义模糊的数字出现,同样可以很方便地进行参数的调整和修改。 同宏定义一样,可以

做到不变则已,一变都变!

4、可以保护被修饰的东西,防止意外的修改,增强程序的健壮性。 还是上面的例子,如果在函数

体内修改了i,编译器就会报错;例如: void f(const int i) { i=10;//error! } 

5、 可以节省空间,避免不必要的内存分配。

6、 提高了效率。编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使

得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高。

参考资料来源:百度百科-CONST

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
XHHISEA02274
推荐于2016-03-14 · TA获得超过8万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:3603万
展开全部

Const是C++中常用的常量类型修饰符,被const修饰的常类型的变量或对象的值是不能被更新或者修改的,其具体作用见下表:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(12)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式