社区
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()获得相应的内存,为什么?
...全文
104
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写文章
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)
或者是引用,或者返回指针都可以
相关业务
问题
+系统
问题
+设计
问题
整理统计
业务系统及其他相关面试
问题
整理:线上相关
问题
排查+高并发系统的限流+高并发秒杀系统设计+负载均衡+
一个
网站有 20 亿 url 存在
一个
黑名单
中
,这个黑名单要怎么存?若此时随便输入
一个
url,你如何快速判断该 url 是否在这个黑名单
中
?并且需在给定内存空间(比如:500M)内快速判断出?
Android自定义侧滑菜单栏代码实现
自定义侧滑菜单栏代码实现 步骤 界面样式 先写布局吧 菜单布局menuxml 关于ScrollView 主界面布局mainxml Activity布局activity_mainxml SlideMenu类的内容 view的绘制 测量获取宽高onMeaure 确定子控件位置onLayout 滑动监听onTouchEvent 限制滑动距离 从上次滑动的位置开始滑动 判断停手位置 为滑动设定时间 添加监听
开发
一个
智能合约
2019独角兽企业重金招聘Python工程师标准>>> ...
枚举和位域、按位与运算符的
困惑
现摘抄MSDN示例如下,
请
注意
中
文注释处的疑问 注释1:这里算赋值?或作其它的理解,但为什么有按位或运算符“|”。如果是赋值,那Seasons.Winter 为什么不为4,而是winter? 注释2:这里的表达式和上面差不多,是不是说
一个
键可以对应多个键值? 注释3:既然e.Value 和 seasons[i] 的值都是字符串值,又怎么可以按位与运算?另外这个if块说明了什么,也
VC++
中
可能遇到的
问题
T 如何用程序控制电源管理设置 Q 我们知道在电源选项 属性 里面可以设置 关闭监视器 1分钟之后,...,从不 关闭硬盘 1分钟之后,...,从不 待机时间 1分钟之后,...,从不
请
问这些设置我怎么用程序来实现 比如我现在要把关闭监视器设成 5分钟之后
请
问各位大虾,应该怎么办?是不是要调用API?如果是,应该调用什么函数?另外补充说明:如果是调出控制面板让用户自
C++ 语言
64,431
社区成员
250,574
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章