当前位置 : 主页 > 编程语言 > c语言 >

const关键字详解

来源:互联网 收集:自由互联 发布时间:2023-09-03
1、const修饰普通变量 变量变为常变量,具有常数性质的变量。不可以修改(只读)。 2、const修饰指针 int a=10;const int* p1=a;int const *p2=a;int* const p3=a; 第一个const修饰的是*p1,也就是不可以

1、const修饰普通变量

变量变为常变量,具有常数性质的变量。不可以修改(只读)。

2、const修饰指针

int a=10;
const int* p1=&a;
int const *p2=&a;
int* const p3=&a;

第一个const修饰的是*p1,也就是不可以通过指针引用去修改指针所指向变量的值。

第二个与第一个效果相同,写法不一样而已。

第三个const修饰的是指针本身p3,表示指针不可修改。

3、const修饰函数形参

const修饰引用形参

void func(const int& val)

表示无法通过引用修改实参,这里的引用实际是实参的一个别名,没有进行拷贝,保证了外部数据的安全性。

注意:如果函数的参数是非const的引用,则他就不能接受const实参变量,这样会造成权限的放大,如果函数的参数是const指针或引用,则它既可以接受 const的实参变量,也可以接受非const实参变量,权限只能缩小不能放大。

4、const修饰成员变量

表示为成员常量,不能修改,同时他只能在初始化列表中赋值。

5、const修饰成员函数

const成员函数表示不能修改this指针,所指向对象的成员变量也不可以修改,const修饰类成员函数实际上是:const 类类型 *const this,

class data
{
  public:
			void display()const
      {
        ...;
      }
  		//实际写法
  		void display(const data *const this)
      {
        ...;
      }
          




上一篇:C语言函数大全-- _w 开头的函数(4)
下一篇:没有了
网友评论