社区
C++ 语言
帖子详情
请将一个困惑很多的问题(在自定义函数中进行New),多谢
jjajun
2011-08-22 07:08:41
现在有段代码很困惑,也查了很多资料,始终没有能理解其中根本的原理,谁能清楚地解释一下,再次谢过了。
1void MyNew(int *p)
2{
3 p = new int;
4}
5
6int main()
7{
8 int *p = NULL;
9 MyNew(p);
10}
在main函数中*p无法通过MyNew()获得相应的内存,为什么?
...全文
108
7
打赏
收藏
请将一个困惑很多的问题(在自定义函数中进行New),多谢
现在有段代码很困惑,也查了很多资料,始终没有能理解其中根本的原理,谁能清楚地解释一下,再次谢过了。 1void MyNew(int *p) 2{ 3 p = new int; 4} 5 6int main() 7{ 8 int *p = NULL; 9 MyNew(p); 10} 在main函数中*p无法通过MyNew()获得相应的内存,为什么?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
对象
2011-08-22
打赏
举报
回复
这是value operation了,lz如果把传递的参数改成&p应该就可以了。
就跟三楼说的似的,你的目标是操作指针,不是操作变量,因此你得传指针的指针。
yby4769250
2011-08-22
打赏
举报
回复
[Quote=引用 4 楼 babilife 的回复:]
引用 3 楼 zmlovelx 的回复:
理解传值,传指针,传引用的区别.
MyNew(int *p) 要修改变量,就得传变量的指针, 要修改指针(看成变量),就得传指针的指针.
当然直接传引用也是可以的.
++1,通俗易懂
[/Quote]
按值传递和按引用传递的区别,你区分实参p和myNew的形参p的关系就好了,他们仅仅是简单的值拷贝关系,除此之外,没有联系
恨天低
2011-08-22
打赏
举报
回复
1void MyNew(int *p)
2{
3 p = new int;
4}
5
6int main()
7{
8 int *p = NULL;
9 MyNew(p);
10}
这样属于值传递。执行MyNew时候,栈上开辟P内存,MyNew执行结束,p栈内存回收。
顺便说下,在哪里new就在哪里delete!否则有内存泄露
至善者善之敌
2011-08-22
打赏
举报
回复
[Quote=引用 3 楼 zmlovelx 的回复:]
理解传值,传指针,传引用的区别.
MyNew(int *p) 要修改变量,就得传变量的指针, 要修改指针(看成变量),就得传指针的指针.
当然直接传引用也是可以的.
[/Quote]
++1,通俗易懂
帅得不敢出门
2011-08-22
打赏
举报
回复
理解传值,传指针,传引用的区别.
MyNew(int *p) 要修改变量,就得传变量的指针, 要修改指针(看成变量),就得传指针的指针.
当然直接传引用也是可以的.
jjajun
2011-08-22
打赏
举报
回复
ls说的,我也知道,我只是不明白,为什么不能直接传P,取得内存,按理说p也是个指针,为什么就不能取得内存??
xiaoguangzaia
2011-08-22
打赏
举报
回复
MyNew(int **p)
然后MyNew(&p)
或者是引用,或者返回指针都可以
Android自定义侧滑菜单栏代码实现
自定义侧滑菜单栏代码实现 步骤 界面样式 先写布局吧 菜单布局menuxml 关于ScrollView 主界面布局mainxml Activity布局activity_mainxml SlideMenu类的内容 view的绘制 测量获取宽高onMeaure 确定子控件位置onLayout...
开发
一个
智能合约
console命令在EVM启动的同时开启了
一个
交互控制台,后面的一串命令是将输出的log转存到文件testGeth.log
中
去,启动时的日志文件: WARN [02-06|11:46:35] No etherbase set and no accounts found as ...
相关业务
问题
+系统
问题
+设计
问题
整理统计
业务系统及其他相关面试
问题
整理:线上相关
问题
排查+高并发系统的限流+高并发秒杀系统设计+负载均衡+
一个
网站有 20 亿 url 存在
一个
黑名单
中
,这个黑名单要怎么存?若此时随便输入
一个
url,你如何快速判断该 url ...
枚举和位域、按位与运算符的
困惑
现摘抄MSDN示例如下,
请
注意...注释2:这里的表达式和上面差不多,是不是说
一个
键可以对应多个键值? 注释3:既然e.Value 和 seasons[i] 的值都是字符串值,又怎么可以按位与运算?另外这个if块说明了什么,也
VC++
中
可能遇到的
问题
T 如何用程序控制电源管理设置 Q 我们知道在电源选项 属性 里面可以设置 关闭监视器 1分钟之后,...,从不 关闭硬盘 1分钟之后,...,从不 待机时间 1分钟之后,...,从不
请
问这些设置我怎么用程序来实现 比如我...
C++ 语言
65,187
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章