const int和int 的区别

我是初学者,看到C++的书上例题有个constint来定义常量,但我用int定义常量的话结果是相同的,不知道区别是什么?是不是用const定义的常量就不可以强制类型转换了... 我是初学者,看到C++的书上例题有个const int 来定义常量, 但我用int 定义常量的话 结果是相同的,不知道区别是什么?
是不是用const定义的常量 就不可以强制类型转换了?
展开
 我来答
jhanker
2016-09-15 · TA获得超过1479个赞
知道小有建树答主
回答量:675
采纳率:73%
帮助的人:513万
展开全部

const int a; int const a; const int *a; int * const a; int const * const a ; 之间的区别?    

  1. const int a; int const a; 这两个写法是等同的,表示a是一个int常量。

  2. const int *a; 表示a是一个指针,可以任意指向int常量或者int变量,它总是把它所指向的目标当作一个int常量。也可以写成int const* a;含义相同。

  3. int * const a; 表示a是一个指针常量,初始化的时候必须固定指向一个int变量,之后就不能再指向别的地方了。  

  4. int const * a const;这个写法没有,倒是可以写成int const * const a;表示a是一个指针常量,初始化的时候必须固定指向一个int常量或者int变量,之后就不能再指向别的地方了,它总是把它所指向的目标当作一个int常量。也可以写成const int* const a;含义相同。

  5.   对于const int *a和int *const a,可以理解为:const int *a中const修饰*a,但是a可变,只要a指向的目标是const类型就可以;而int *const a中const修饰a,一旦指向则不能改写,但是可以修改*a的值 


飘渺世间天
2007-05-12 · TA获得超过2650个赞
知道大有可为答主
回答量:843
采纳率:0%
帮助的人:1128万
展开全部
寒...

不过先声明我以下的内容是针对C++而言...

对于除指针以外的其他常量声明句法来说,
const type name

type const name
的效果是相同的, 即都声明一个类型为type名为name的常量,如:

const int x = 1;

int const x = 1;

还有

int x = 1;
const int &y = x;

int const &y = x;
都是等效的, 只是写法的风格不同而已, 有人喜欢用const type name, 比如STL的代码; 另外一些人喜欢写成type const name, 比如boost中的大量代码, 其实效果都是一样的。

对于指针来说, const出现在*号的左边还是右边或是左右都有才有区别, 具体的:

const type *p; // 一个不能修改其指向对象的type型指针
// 其实和type const *p等效

type * const p; // 一个不能修改其自身指向位置的type型指针

const type * const p;
// 一个既不能修改其指向对象也不能修改其自身指向位置的type型指针
// 也和type const * const p等效

而C++中的引用当引用了一个值后,就不能把其修改为引用另外一个值,这相当于type * const p的指针, 如:

int a, b;
int &c = a; // 声明时就和a绑定在一起
c = b; // 是把b的值赋给a, 而不是把b作为c的另一个引用

所以引用的功能其实和type * const p指针是相同的, 即其引用(指向)的位置不可改变, 如果声明引用时再加上const, 其实就相当于const type * const p型的指针了, 所以声明引用时,const type &name 和 type const &name等效的...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友08c3881
推荐于2018-03-08 · TA获得超过462个赞
知道答主
回答量:150
采纳率:0%
帮助的人:79.7万
展开全部
const int a 是定义一个常整型变量,变量的值不能改变;int a 是整型变量,可以改变a的值!
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chenhaooo
2007-05-12 · TA获得超过439个赞
知道小有建树答主
回答量:487
采纳率:0%
帮助的人:286万
展开全部
C没有&引用这概念。。。

const int &x是说引用指向的对象是const int类型;
int const &x也是表示引用的对象是const int类型;
一样的,糊涂了。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
牧之卉0j1
2010-11-07 · TA获得超过1151个赞
知道大有可为答主
回答量:1689
采纳率:0%
帮助的人:1773万
展开全部
const应该是read only吧
学习
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式