社区
C++ 语言
帖子详情
请问这个表达式是什么意思
zh_huo
2011-06-12 11:40:16
Matrix = (int **)new int *[vexNum];// 生成邻接矩阵
请问各位高手这个表达式是什么意思??尤其是new前面的(int **)这是什么意思,为什么能这样写????
貌似在各类的c++书籍上都没有介绍这样的用法。
ps:这句表达式我是在《数据结构与算法c++版》清华大学出版社出版上见到的,是在配套的软件包里
...全文
98
8
打赏
收藏
请问这个表达式是什么意思
Matrix = (int **)new int *[vexNum];// 生成邻接矩阵 请问各位高手这个表达式是什么意思??尤其是new前面的(int **)这是什么意思,为什么能这样写???? 貌似在各类的c++书籍上都没有介绍这样的用法。 ps:这句表达式我是在《数据结构与算法c++版》清华大学出版社出版上见到的,是在配套的软件包里
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zh_huo
2011-06-13
打赏
举报
回复
但是不对啊,后面不是的类型不就是int类型吗??如果识强制转换的话,这不是做无用功吗。如果是强制转换matrix,那么这语法不是错误了吗??
方寸之间
2011-06-13
打赏
举报
回复
Matrix = (int **)new int *[vexNum];// 生成邻接矩阵
定义动态二维数组的方法
Matrix是指向该数组的首元素。
可以这样理解
typedef int *PInt;
Matrix = (PInt*)new PInt[vexNum];// 定义一个一维指针数组。每个元素为一个指向int类型的指针。
阿白hhh
2011-06-13
打赏
举报
回复
后面是指针,前面是指向指针的指针
caihongjftt
2011-06-13
打赏
举报
回复
new int *[vexNum]是定义一个指向二维数组的指针(执行二维数组的第一个元素的地址)
(int **) 是将指向二维数组的第一个元素地址的指针强制转换为二维数组的首地址。
我也是新手,上述只是猜测。(思考下,二维数组a[][],其&a[]和&a的含义,可能会有些结论)
zh_huo
2011-06-13
打赏
举报
回复
[Quote=引用 7 楼 hedy007 的回复:]
C/C++是静态类型语言,
变量在使用前是必须声明或定义的。
[/Quote]
对。但是前面申明了,但是为什么还要加(int **)??
莫非是为了再次强调matrix是一个二维数组,提高程序的可读性,以及在释放内存的时候别把matrix误当做一个指针??
hedy007
2011-06-13
打赏
举报
回复
C/C++是静态类型语言,
变量在使用前是必须声明或定义的。
zh_huo
2011-06-13
打赏
举报
回复
[Quote=引用 5 楼 wcyoot 的回复:]
Matrix = (int **)new int *[vexNum];// 生成邻接矩阵
定义动态二维数组的方法
Matrix是指向该数组的首元素。
可以这样理解
typedef int *PInt;
Matrix = (PInt*)new PInt[vexNum];// 定义一个一维指针数组。每个元素为一个指向int类型的指针。
[/Quote]
嗯嗯,我再看了一遍源代码,发现matrix在前面是没有任何申明或者是定义的,matrix是第一次出现。我现在明白了上面的代码应该等同于
int **matrix;
matrix=new int*[vexnum];
但是将这两个表达式合在一起表达还是第一次见,不太习惯,而且在c++的入门书籍上没有提到这样的写法/
sduxiaoxiang
2011-06-12
打赏
举报
回复
强制转了下类型
python
表达式
是
什么意思
_python
表达式
是什么
单独的一个值是一个
表达式
,单独的变量也是一个
表达式
。运算符和操作数一起构成
表达式
,操作数可以使用标识符表示,如a=3;b=2;c=a*b,
表达式
是python程序最常见的代码Python代码由
表达式
和语句组成,并由Python解释...
python
表达式
是什么_Python中的
表达式
是什么?
Zelle Sayseval()的书把string作为一个
表达式
来评价,如果string已经是一个
表达式
,这到底意味着什么?如果string不是一个
表达式
,那么它怎么会出现在print之后呢?相关(但不是完全重复):
表达式
和语句之...
什么是java
表达式
_什么是java
表达式
什么是java
表达式
在Java语言中,
表达式
是由变量或常量与符号的组合,例如:num1+num2;或age>18;等。
表达式
中常用的符号称为运算符,这些运算符作用的变量或常量称为操作数。例如:在
表达式
age>18中,age和18是...
什么是正则
表达式
?
什么是正则
表达式
?1. 什么是正则
表达式
?2. 基本匹配3. 元字符 1. 什么是正则
表达式
? 正则
表达式
是⼀组由字⺟和符号组成的特殊⽂本,它可以⽤来从⽂本中找出满⾜你想要的格式的句⼦。 ⼀个正则
表达式
是⼀种从左到...
什么是正则
表达式
?
什么是正则
表达式
? 正则
表达式
是一种被用于从文本中检索符合某些特定模式的文本。 正则
表达式
是从左到右来匹配一个字符串的。“Regular Expression”这个词太长了,我们通常使用它的缩写“regex”或者“regexp”...
C++ 语言
64,682
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章