C++中const啥意思?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++中const啥意思?相关的知识,希望对你有一定的参考价值。

在标准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)

参考技术A

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

参考技术B 回答

T const&与T &的区别是一个加了常量限定符,一个没加,也相应的一个是常引用,不能修改其值,一个为引用,可以修改值。如果返回值是常引用,说明不能把返回值作为左值,也就是a.top() = 10;//如果a 为常对象,这句是非法的如果返回值是引用,就可以作为左值:a.top() = 10; //如果a 不是常对象,这句把a的data_[top_-1]修改为10了;常对象就是定义类对象时加上const限定符。const CA a;常对象只能调用常成员函数,也就是在函数未尾加了const限定符的成员函数,而在常成员函数里不能修改类的数据成员。不知这样解释能不能理解。

提问

就是这个题里t=const啥意思

回答

等等哦

提问

嗯嗯

回答

你这个是物理的热力学,是常数的意思吧

提问

就是说13的温度相同嘛

回答

是的

pv=nrt

提问

嗯嗯,谢谢你[心][比心]

参考技术C

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

参考技术D

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

计算机C语言中的关键字:const是啥意思?

在C语言中,const的意思是“一个不能被改变的普通变量”,它总是占用存储空间而且它的名字是全局的。C编译器不能把const堪称一个编译器间的常量。所以在C中你可以这么写:
const
int
bufsize;//不赋值。
但不能这么写:
cosnt
bufsize
=
100;
char
buf[bufsize];
//因为bufsize不是常量。
(但是在C++里,上面两种情况正好反过来。在C++里const修改的量表示常量,必须在初始化时赋值,并且可以作为数据的维数)
参考技术A const
修饰数字的话就表示为常数
const
修改指针的话就表示指针指向的地址不可改变(地址中存的值可以变)

以上是关于C++中const啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

C++,const对象的成员不可修改,但const对象通过指针维护的对象却可以修改,啥意思?望高手予以指点!

计算机C语言中的关键字:const是啥意思?

请问c 语言中的 const 是啥意思?

c++语言中class是啥意思

"CONST func(arg);" 是啥意思在C语言中是啥意思?

复合 let/const 赋值是啥意思?