C++问题 {name=new char[strlen(na)+1] strcpy(name
C++问题{name=newchar[strlen(na)+1]strcpy(namena)}今天我看了些类的派生有些题目用了有些没用所以我好奇想问下这个分配内存函数什么...
C++问题 {name=new char[strlen(na)+1] strcpy(name na)}今天我看了些类的派生 有些题目用了有些没用 所以我好奇想问下这个分配内存函数什么时候要用什么时候不要用??
是不是有变量就得用了 。因为我做了一题关于汽车基类没用new 另外一题关于查找某人具体职位的基类用到了new所以有点疑惑 展开
是不是有变量就得用了 。因为我做了一题关于汽车基类没用new 另外一题关于查找某人具体职位的基类用到了new所以有点疑惑 展开
4个回答
展开全部
我给你分析一下你这个语句中为什么使用new吧,首先new的结果是从堆中划分一块区域,动态创建一个类型的数据,最后返回该区域的指针。你调用strcpy操作时把这块内存的地址传了进来,然后才这个地址开始复制na的内容,如果你不是用new操作的话,就会从name指针指向的位置开始复制na的内容,这样,如果name是一个空指针或者name指向一个不确定的位置,就会出现错误,因为修改一个不确定的位置的值是未定义的,不合法,new操作之后相当于得到了一段属于自己的内存空间,而name指向这段空间的初始地址,所以你可以对它进行赋值操作,仔细体会一下什么时候该用吧
大雅新科技有限公司
2024-11-19 广告
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,...
点击进入详情页
本回答由大雅新科技有限公司提供
展开全部
new运算法是给我们分配内存的,当我们需要额外的内存空间的时候就用它给我们分配空间,我觉得你的问题有点怪怪的,只有我们需要更多地空间才会用new给我们分配,不然要他干什么,对吧?我也不清楚你那个什么类,也不知道你研究什么知识所以不好说,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当你需要设置变量时就用new来分配一个空间给变量,程序结束之前要把所有的变量清空,否则会占用内存。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然是你需要的时候才用啊,跟继承有什么关系
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询