欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c++与C const变量的区别详解

程序员文章站 2022-07-05 22:55:05
区别一: C语言的const是定义了一个const变量,该变量只具备读的功能,而不具备写的功能。 C++的const是定义了一个常量。 const int a = 5;...

区别一:

C语言的const是定义了一个const变量,该变量只具备读的功能,而不具备写的功能。

C++的const是定义了一个常量。

const int a = 5;
int array[a];//在C语言中是错误的,因为在C语言中是定义了一个只读变量
int array[a];//在c++中是正确的,因为在C++中定义了一个常量

区别二:

C语言中不能定义const函数,而C++中可以定义const函数。

C++的const成员函数:不能修改类的成员变量的值。(此处就不列举例子了)

指针常量和常量指针:

1、指向指针的常量:当const在*号前面就是指向常量的指针。

    const char *p1 = "123456";
    char const* p2 = "123456";

    p1 = "werr";  //正确,可以再指向其他的常量
    p1[0] = 'a'; //错误,不能修改指向地址的值

2、常量指针:当const在*号之后

   char *const p1 = "12445";
   p1[0] = 'w';  //正确,可以修改指向内存的值
   p1 = "ddddd"; //错误,不能修改p1指向的内存