c++与C const变量的区别详解
程序员文章站
2022-04-12 20:22:51
区别一:
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指向的内存
推荐阅读
-
c#中(&&,||)与(&,|)的区别详解
-
关于C++中字符串输入get与getline的区别
-
在C++中,函数名前的const和函数名后的const的区别详解
-
c++函数传递指针的本质与字符串指针与字符数组的区别
-
C++下的const:const修饰变量、const修饰的迭代器和const修饰函数学习讲解
-
详解js中let与var声明变量的区别
-
ES6 新增声明变量的 var let const 的区别详解
-
C++中static_cast/const_cast/dynamic_cast/reinterpret_cast的区别和使用
-
c++ 中的 extern、statuc、const以及extern "C"详解
-
C语言中%c与%s的区别与划分详解