全站数据
8 4 2 0 5 8 1

const函数的用法

盘州建筑 | 简单学习,快乐成才!         
问题更新日期:2024-11-03 17:47:11

问题描述

const函数的用法希望能解答下
精选答案
最佳答案

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

1、const修饰变量

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

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

2、const和指针

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

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

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

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

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

4、const修饰函数返回值

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

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

5、const修饰类成员函数

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

6、const修饰类的成员变量

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

7、const和#define的区别

#define A 10

const int A=10;

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

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

8、const和extern

file1.cpp中, const int a;

file2.cpp中, extern int a; //错误,无法调用,

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

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

extern const int val;