对于如下几个语句,哪些定义相同?哪些定义不同?哪些数据可修改?哪些数据不可修改呢? const int a; int const a; const int *a; int *const a; int const *const a; 在C/C++中,const是一个数据类型修饰符,常见的还有short.long.unsigned.static.extern等,定义变量的方式采用: (修饰符+数据类型) 变量名称 注意:如果有修饰符,则修饰符和数据类型的位置不影响变量的定义,比如int short和…
类里面的成员变量可以用const修饰,在只用const不用static修饰的情况下,这种使用的限制比较多 (1)不能定义处初始化,必须在类的构造函数初始化列表里面初始化(虽然在vs中,可以在定义处初始化,但是这是不符合语法的,如果用g++编译器,就会出现明显的报错,不利于程序的移植) class constNum{ //const int size=10; 错误,不能在定义处对const成员变量进行初始化 const int size; public: constNum(); }; constN…
在C++里,const修饰指针有以下三种情况 (1)指针常量:即指向常量的指针 const int *p或者int const *p const在*前,,可以这样理解它的功能,因为const在*前,所以p指向的这个int变量对于*p来说是const的,即不能通过*p改变这个变量的值,但是变量本身可以随便改变自己的值.另外也可以改变p的指向. 例: int x=2; int y=3; const int *p=&x; *p=4; //错误,不能通过*p改变变量的值 x=4; //可以,…
code是KEIL C51 扩展的关键字,用code修饰的变量将会被放到CODE区里.但C语里的const关键字好像也有定义不能改变的变量的功能,这两个关键字有什么区别呢?在帮助手册里查找const,可以找到以下的描述1 Variables declared with the const type qualifier alone are stored in the memory area (data, idata, xdata, and so on) associated with their…