C/C++学习笔记

C/C++ const用法详解

2020-05-09  本文已影响0人  零岁的我

const变量,又称为常量

1. 创建常量

const type name = value;
type const name = value;

以上两种创建方式等价,但是通常采用第一种方式。

2. 常量的初始化

因为常量一旦创建后就不能改变,因此常量必须在定义的同时赋值,后面的任何赋值行为都将引发错误。

3. const和指针

const和指针变量一起使用,可以限制指针变量本身,也可以限制指针指向的数据。
const和指针一起使用会有几种不同的顺序:

  1. const int* p1 ; //p1所指向的数据是只读的,但是p1可以可变自己的指向
  1. int const* p2 ; //p2所指向的数据是只读的,p2可以改变自己的指向
  1. int * const p3; //p3本身的值不能被修改
  1. const int* const p4; //指针本身和它指向的数据都是只读的;
  1. int const * const p5; //同上

const与指针不同结合顺序含义的记忆方法:
const 离变量名近就是用来修饰指针变量的,离变量名远就是用来修饰指针指向的数据,如果近的和远的都有,那么就同时修饰指针变量以及它指向的数据。

4. const和函数形参

const通常用在函数形参中,例如函数形参是一个指针,用const限制可以防止在函数内部修改指针指向的数据。
下面是部分函数的原型:

size_t strlen ( const char * str );
int strcmp ( const char * str1, const char * str2 );
char * strcat ( char * destination, const char * source );
char * strcpy ( char * destination, const char * source );
int system (const char* command);
int puts ( const char * str );
int printf ( const char * format, ... );

5. const和非const转换

const类型不能赋值给非const类型,非const转换为const类型是允许的。

6. C++ const成员变量和成员函数

int getAge() const;
int getAge() const{
    return age;
}
上一篇下一篇

猜你喜欢

热点阅读