美文网首页C/C++学习笔记
C/C++ const用法详解

C/C++ const用法详解

作者: 零岁的我 | 来源:发表于2020-05-09 15:50 被阅读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成员变量和成员函数

  • const成员变量的初始化只能通过构造函数的初始化列表,没有其他方法;
  • const成员函数(常成员函数)可以使用类中的所有成员变量,但是不能修改它们的值。
  • 常成员函数需要在声明和定义的时候在函数头部加上const关键字。
    例如:
int getAge() const;
int getAge() const{
    return age;
}
  • 不同位置的const
    1)开头的const用来修饰函数的返回值,表示返回的是const类型,也就是不能被修改,例如:const char* getname();
    2)函数头部结尾加上const表示常成员函数,这种函数只能读取成员变量,而不能修改成员变量的值。
  • const修饰的对象称为常对象.常对象只能访问被const修饰的成员。

相关文章

  • C/C++ const用法详解

    const变量,又称为常量 1. 创建常量 const type name = value;type const ...

  • c++ volatile关键字

    Ref cppreference - const vs volatileC/C++中volatile关键字详解 v...

  • C++ const用法

    C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结...

  • C++ const 用法

    const修饰的是一个常量,常量的意思是不能修改该值,但是可以将常量值赋给变量。 pt是指向const单元的指针。...

  • C++ const用法

    一 修饰类 C++中const修饰类主要包括3个部分:数据成员,成员函数,对象。 数据成员const 修饰类的成员...

  • C++ const用法

    const限定符 在变量前面加上const,也可以创建一个常量。使用const创建常量的一般格式如下: 使用con...

  • C++:const用法

    在C++中用来修饰内置类型变量,自定义对象,成员函数,返回值,函数参数。如果在编程中确实有某个值保持不变,也就是该...

  • [转]C++中的extern “C”用法详解

    原文 这篇文章主要介绍了C++中的extern “C”用法详解,简单来说,extern “C”是C++声明或定义C...

  • const int = int const?

    根据我的了解, const 这个用法在 c++ 里非常复杂, 看完了 c++ primer 5th 里相关章节...

  • C++: const详解

    一、const变量 const修饰一个变量,代表这个变量是个常量,不可改变: 二、const与指针 1. 指向常量...

网友评论

    本文标题:C/C++ const用法详解

    本文链接:https://www.haomeiwen.com/subject/advknhtx.html