📄 subject_42389.htm
字号:
<p>
序号:42389 发表者:软体狂人 发表日期:2003-06-02 23:52:04
<br>主题:有关“const“的问题
<br>内容:不知大家看过潘爱民译的C++primer没有?P85页第三行说:const<BR>对象的地址只能赋给指向const对象的指针,但是第十四行又说:我们可以定义一个const指针指向一个const或一个非const对象。要知道,const指针只限制了指针本身的值不能被修改,这两句话岂非矛盾?<BR>请大家给个答案!<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:dr0 回复日期:2003-06-02 23:57:38
<br>内容:指向const对象的指针 == const指针 ?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:软体狂人 回复日期:2003-06-03 00:10:25
<br>内容:老兄,麻烦给点详细的解释行否?我很菜的哟!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:dr0 回复日期:2003-06-03 00:12:22
<br>内容:指向const对象的指针的含义是:这个指针*指向的对象*在编译期是不可修改的<BR>const指针的含义是:*指针本身*在编译期是不可修改的
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:软体狂人 回复日期:2003-06-03 00:31:16
<br>内容:老兄,你说的意思我明白,可你再仔细体会上面的两句话,确实有问题:<BR>(1)const对象的地址只能赋给指向const对象的指针,这没问题,也就是说:<BR>const int a=12;<BR>const int *pa=&a;//ok<BR>int *pb=&a;//error:因为可能通过*pb=20来修改a,而这是不允许的<BR><BR>(2)我们可以定义一个const指针指向一个const对象或非const对象,这就有问题,例如:<BR>const int a=12;<BR>int *const pa=&a;//我认为这里有问题:因为虽然指针本身的值不 能修改,但*pa=20这种修改是允许的,这和a为const相矛盾,也就是和上面第一句话矛盾。<BR>老兄,以为然否?<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:dr0 回复日期:2003-06-03 00:35:41
<br>内容:const指针有两种,指向const对象的和不指向const对象的,人家说const指针可能指向<BR>const对象也可能不指向const对象,没错啊。你是以偏概全了,我知道你明白const<BR>的用法就可以了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:软体狂人 回复日期:2003-06-03 00:44:41
<br>内容:谢谢dr0老兄,你可真是个好人!<BR>希望论坛里多些像你这样的人,那可就是我等C++初学者之福了!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -