| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 554 人关注过本帖
标题:关于const不能用于指向指针的指针问题
只看楼主 加入收藏
哈171596431
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2023-9-2
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
关于const不能用于指向指针的指针问题
const int **pp2   二级间接引用
int* p 一级间接引用
const int n = 3常量

pp2 = &p
*pp2 = &n
*p = 10这里会发生异常
也就是说二级间接关系,将非const指针赋值给const指针
会发生这种异常。


书上说int ary[][4]是指向指针的指针,不能使用const
const只能用于指向基本类型的指针
各位大佬有没有例子说明一下,因为书上并没有写出这个例子。


书名c++primer plus
搜索更多相关主题的帖子: 异常 指针 指向指针的指针 int const 
2023-09-02 12:34
AZhengYe
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:3
帖 子:8
专家分:22
注 册:2023-8-2
收藏
得分:20 
哪一页写的?
2023-09-07 11:11
AZhengYe
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:3
帖 子:8
专家分:22
注 册:2023-8-2
收藏
得分:0 
pp2指向非const的p报异常我知道,后面那段话是真的吗,const应该可以修饰指向指针的指针吧。
2023-09-07 11:14
maguangzhi
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-10-30
收藏
得分:0 
int ary[][4]只能定义为数组形参,其退化类型为int(*ary)[4],因此,它并不是指向指针的指针(即它不是int **ary), 而是指向数组int[4]的指针。
参见https://www.。根据上述链接及其教材,它是数组指针的理由如下:
    对于类型int(*ary)[4],sizeof(*ary)=sizeof(int(&)[4])=sizeof(int[4])=4*4=16字节。
    对于类型int **ary,sizeof(*ary)=sizeof(int*&)=sizeof(int*)=4字节。
你可以使用sizeof试一试,看看到底是不是指向数组的指针。要学好C++2023最新国际标准,参见“C++程序设计实践教程(新国标微课版)”。

[此贴子已经被作者于2023-9-23 15:30编辑过]

2023-09-23 15:24
快速回复:关于const不能用于指向指针的指针问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015948 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved