关于给二维数组分配空间的问题

xplovexjy 2008-11-09 10:08:48
template <class T>
void Make2DArray(T ** &x, int rows, int cols)//形参表中,要是我把x改为T **x,编译也通过,这里加了个&,到底有什么用意,为什么在这里加不加%都可以??
{
x = new T * [rows];
for (int i = 0; i < rows; i++)
x[i] = new T [cols
}
...全文
96 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hzc191025 2008-11-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 Demon__Hunter 的回复:]
二级指针变量的引用~~~
[/Quote]

正确!
太乙 2008-11-09
  • 打赏
  • 举报
回复
一个是引用,一个是值传递(副本)

lz吧int**看为是一个类型就显然了!!
yuhaozx 2008-11-09
  • 打赏
  • 举报
回复
1
学习
bbb332 2008-11-09
  • 打赏
  • 举报
回复
。。。。
sockerly 2008-11-09
  • 打赏
  • 举报
回复
如果按那样的生命,传进去的
要是这样的指针吧
int*** p = NULL;
或者是一个二维数组的指针
int a[5][5];
int (*p)[5] = a;
int *q来指向二维数组,接下来不知道怎么办了
但是进去还是没办法识别的……
zhxin999 2008-11-09
  • 打赏
  • 举报
回复
引用
hhyttppd 2008-11-09
  • 打赏
  • 举报
回复
不使用&时,语法并没有问题(所以你能够通过编译器的检查),但是行为却不是你想到的:
int** dst2D = NULL;
Make2DArray(dst2D, 2, 2); //template <class T> void Make2DArray(T ** x, int rows, int cols)
assert(NULL != dst2D);

此时断言将失败。
帅得不敢出门 2008-11-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 Demon__Hunter 的回复:]
二级指针变量的引用~~~
[/Quote]
up
机智的呆呆 2008-11-09
  • 打赏
  • 举报
回复
二级指针变量的引用~~~
lzh9955 2008-11-09
  • 打赏
  • 举报
回复
期待!!

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧