首页主机const,const是什么意思

const,const是什么意思

编程之家2024-05-29104次浏览

一、const函数的用法

const在C/C++中有很多的用法,现将const的用法做如下总结。

const,const是什么意思

1、const修饰变量

const修饰变量,可以使变量具有常属性,也就是该变量在以后的使用中其值都不能进行改变。

在这里要注意的一点就是const修饰的变量要进行初始化。

2、const和指针

用const修饰指针有以下几种情况

3、保护函数参数不被改变

const,const是什么意思

用const修身函数的参数,可以保证该参数的值在函数内部不被改变。

但是一般const修饰的参数都有哪些呢?

一般用引用或者传地址的方式给函数传递一个参数,如果在函数体内对该参数进行修改,那么就会连实参的值一并进行修改。

4、const修饰函数返回值

const修饰函数的返回值,防止函数的返回值被修改

但是这里要注意的是,必须也用const修饰的变量来接收这个函数的返回值。

const,const是什么意思

5、const修饰类成员函数

const可以修饰类成员函数,防止类成员函数中除了static成员之外的其他成员被修改。

6、const修饰类的成员变量

类的成员变量可以分为静态的和非静态的,如果const修饰的是静态的成员变量,可以在构造函数中对该变量进行初始化;如果const修饰的是静态的成员变量,则需要在类外对该变量进行初始化。

7、const和#define的区别

#defineA10

constintA=10;

上面两条语句的作用是一样的,但是后面一条语句可以节省内存空间,这是为什么呢?

原因在于在程序中多次使用const类型的变量,只会在第一次分配内存,但是如果使用#define定义的宏,则每次都会分配内存,这样看来使用const会节省很多空间。

8、const和extern

file1.cpp中,constinta;

file2.cpp中,externinta;//错误,无法调用,

说明const修饰大的变量只能在该程序的本文件中使用,不能在该程序的其他文件中使用。

要想const定义的对象变量能被其他文件调用,定义时必须使用extern修饰为

externconstintval;

二、const用法

const关键字至少有下列n个作用:

(1)欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了;

(2)对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;

(3)在一个函数声明中,const可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;

(4)对于类的成员函数,若指定其为const类型,则表明其是一个常函数,不能修改类的成员变量;

(5)对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为“左值”。例如:

constclassAoperator*(constclassA&a1,constclassA&a2);

operator*的返回结果必须是一个const对象。如果不是,这样的变态代码也不会编译出错:

classAa,b,c;

(a*b)=c;//对a*b的结果赋值

操作(a*b)=c显然不符合编程者的初衷,也没有任何意义。

三、const是什么意思

定义常量,常量就是不变的值,用在函数,变量,数组,指针类型说明前(如:constinta=10;)表示的a值永远是10.

迅雷界面库(迅雷界面库的功能有哪些)imx天梯图2018 imx445