社区
C++ 语言
帖子详情
一个关于CONST的问题,很迷惑
shimeitang
2009-06-07 08:21:14
代码如下:
const int ci=2;
int * x = (int *) &ci;
*x=3;
cout<<*x<<endl;
cout<<ci<<endl;
输出结果为:
3
2
但是发现X与&ci的值一样.
请解释下为什么?
...全文
63
7
打赏
收藏
一个关于CONST的问题,很迷惑
代码如下: const int ci=2; int * x = (int *) &ci; *x=3; cout<<*x<<endl; cout<<ci<<endl; 输出结果为: 3 2 但是发现X与&ci的值一样. 请解释下为什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gykgod
2009-06-07
打赏
举报
回复
把const想像成#define
gykgod
2009-06-07
打赏
举报
回复
把const想像成#define
光宇广贞
2009-06-07
打赏
举报
回复
[Quote=引用 4 楼 BaihowFF 的回复:]
引用 3 楼 kok202 的回复:
&ci并非指向ci?
编译器对常量有优化的哈...
看看上面链接的帖子就知道了...
PS:没事别和编译器过不去哈...
[/Quote]
BaihowFF
2009-06-07
打赏
举报
回复
[Quote=引用 3 楼 kok202 的回复:]
&ci并非指向ci?
[/Quote]
编译器对常量有优化的哈...
看看上面链接的帖子就知道了...
PS:没事别和编译器过不去哈...
zmsun
2009-06-07
打赏
举报
回复
&ci并非指向ci?
猫已经找不回了
2009-06-07
打赏
举报
回复
常量重叠
http://topic.csdn.net/u/20090420/13/5cca18be-d640-4a39-8ea6-415e6f30fec1.html?seed=1518398107
liao05050075
2009-06-07
打赏
举报
回复
这个叫常量折叠。
http://hi.baidu.com/lightningyaoyao/blog/item/c95edc583ef460dc9d820475.html
C++中
const
应放在类型前还是后
我把它放在前面,但那仅仅是个人爱好
问题
。“
const
T”和“T
const
”总是都被允许的,而且是等效的。例如:
const
int a = 1; // ok int
const
b = 2; // also ok 我猜想第一种版本可能会让少数(更加固守语法规范)的程序员感到
迷惑
。 为什么?当我发明“
const
”(最初的名称叫做“readonly”,并且有
一个
对应的“writeonly”)的时候,我就允许它出现在类型之前或之后,因为这样做不会带来任何不明确。标准之前的C 和C++规定了很少的(如果有的话)特定的顺序规范。 我不记得当时有过任何有关顺序
问题
的深入思考或讨论。那时,
怎样牢牢记住指针常量和常量指针的区别【
const
int *和int
const
*和int*
const
】
const
int * int
const
* int*
const
这三个具有很大的
迷惑
性,怎么区分他们呢? 为了方便,我们假设有指针p,
const
int *p int
const
*p int*
const
p 区分这三种的方法就是 只看
const
和 * 和指针的名字,不看数据类型 int! 第
一个
和第二种情况:
const
的右边是 *p ,*p 是指针指向的值, 也就是说
const
修饰的是这个指针指向的值,所以表达的意思就是 此指针指向的值 要看做
一个
常量,那么就无法通过指针
解析
const
关键字的作用
一直以前被
const
和static所
迷惑
,每次都感觉自己知道,却每次被面试官问起时无话可说。 希望以后的你我路路顺风! 每次提及
const
我们都知道
const
可以修饰,并且被
const
修饰的不能更改,如果说我们每次这样回答面试官的
问题
,那么你就如我一样,可以回家了。
const
其实是contant的缩写,意思是不变的,永恒的,它的作用也就如它的字面意思一般。只要
一个
变量前面用
const
修饰,...
c语言
const
类型,[C语言]类型限定词
const
解析
作为C90增加的
一个
受限类型关键字,
const
赋予了它修饰的变量
一个
新属性——不变性,如果
一个
变量声明中带有关键字
const
,则无法通过赋值、增减运算来修改该变量的值。一、指针与
const
结合
const
与指针的结合较为复杂,因为我们需要把'让指针本身成为
const
'和'让指针指向的值成为
const
'区分开来。1.1 int
const
*p该声明表明我们声明了
一个
指针p,
const
在*左边,代表整...
const
ptr与ptr
const
比较
其实只要注意从右向左读取,这样就很好识别了 可以参考下这关于
const
的faq 举个例子
const
* int p 有些时候会忽悠进int
const
* 和 int *
const
之类的当中来
迷惑
You have to read pointer declarations right-to-left. Fred
const
* p means "p points to a
const
a
C++ 语言
65,206
社区成员
250,519
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章