当前位置: 首页 > news >正文

网站建设公司兴田德润i优惠吗10m网站空间

网站建设公司兴田德润i优惠吗,10m网站空间,wordpress minify,企业管理考研院校推荐在C中,创建任何一个对象(即使我们创建的是一个没有任何成员变量的对象)时,需要占用一定的内存空间。 应用程序会将可用的内存(排除源代码运行的内存等)分出两个部分:栈(stack&#x…

 在C++中,创建任何一个对象(即使我们创建的是一个没有任何成员变量的对象)时,需要占用一定的内存空间。

        应用程序会将可用的内存(排除源代码运行的内存等)分出两个部分:栈(stack)和堆(heap)。所以——在C++中创建对象有两种方式:在栈上创建对象和在堆上创建对象。

        在栈上创建的对象,有一个自动的生命周期,他们的生命周期由它声明的作用域所决定,换言之,只要变量超出了其作用域,该对象的内存就被释放了。

        在堆上创建对象则不同。在堆上创建的对象会一直待在那里,直到你决定把它释放,空闲出其对应的内存。( 用delete进行释放)

person类:

#include<iostream>
#include<string>
using String = std::string;class Person
{
private:String m_Name;
public:Person() :m_Name("Unknown") {}Person(const String& name) :m_Name(name) {}const String& GetName() const { return m_Name; }
};

在栈上创建对象personOnStack。

int main()
{{// 在栈上创建对象// 可以写为 Person personOnStack = Person("person1");Person personOnStack("person1"); // 打印名字 person1std::cout << personOnStack.GetName() << std::endl;} // 当代码运行到此行时,personOnStack将被回收

在堆上创建对象personOnHeap。​​​​​​

int main()
{{// 在堆上创建对象 关键词 newPerson *personOnHeap = new Person("person2");}// 打印名字 person1std::cout << personOnHeap->GetName() << std::endl;// 在堆上分配的对象要手动释放内存// 即 new 和 delete一起使用delete personOnHeap;return 0;
}

进阶版

int main()
{// 创建 Person 类型的指针Person *p1, *p2;{// 在栈上创建对象// 可以写为 Person personOnStack = Person("person1");Person personOnStack("person1"); // 在堆上创建对象 关键词 newPerson *personOnHeap = new Person("person2");/* p1指针指向 personOnStack 所在的内存地址* 在大括号之后 personOnStack 将被回收* 在大括号之后将获取不到 m_name = person1 的对象*/p1 = &personOnStack;/* personOnHeap赋值给p2* 在大括号之后 personOnHeap不会被回收* 在大括号之后将获取到 m_name = person2 的对象 */p2 = personOnHeap;}// 打印结果为空std::cout << p1->GetName() << std::endl;// 打印名字 person2std::cout << p2->GetName() << std::endl;// 在堆上分配的对象要手动释放内存// 即 new 和 delete一起使用delete p2;// 此处不需要delete p1的原因?return 0;
}

 如上代码所示,当代码运行到main函数中的大括号后,personOnStack对象被释放,所以p1获取到的m_Name为空;而在堆上创建的,personOnHeap对象没有被释放,所以p2能够正常获取m_Name。

        最后,p1不需要delete的原因——main函数中的大括号之后,personOnStack对象被释放,所以personOnStack对象的地址也被释放,p1指针不需要被delete。
 

http://www.yayakq.cn/news/154228/

相关文章:

  • 广中路街道网站建设崇州市建设局网站
  • 怎么建立图片文件什么是搜索引擎优化
  • 98元建网站新媒体如何运营推广
  • 六里桥做网站公司万网空间上传网站
  • 重庆网站建设重庆wordpress 两栏
  • 官方网站建设账务处理有经验的邵阳网站建设
  • 返利网站开发盘锦网站制作
  • 怎样才能创建网站男人和女人做性的网站
  • 企业电商网站备案流程线上营销策略
  • 大学生个人网站作品建设集团是做什么的
  • led外贸网站制作长安高端装备网站设计公司
  • 网站建设 学习什么涡阳网站优化
  • 西安通程建设工程 网站网站备案 选项
  • 企业网站建设最需要的是什么东莞微信网站开发
  • 下载男女做爰免费网站网站建设怎么设置渐变色
  • 网站建设网页制作遂宁网站建设公司
  • 仿租号网站源码网站开发网站 手机网站
  • 青岛福瀛建设集团网站php怎么给网站做spm
  • 如何做房地产网站室内设计师培训网课
  • ps网站首页怎么设计wordpress哪个编辑器好用
  • 船山网站建设wordpress 积分充值
  • 漳州哪里做网站一键优化为什么不能100
  • 昆明网站关键字优化832网络销售平台
  • 北京市通信管理局 网站备案国家时事新闻2020最新
  • 官方网站建设维护合作协议自己可以建网站吗
  • 天行健君子以自强不息网站建设简单的电子商务网站主页设计图
  • 襄阳网站制作电商网站设计趋势
  • 受欢迎的南昌网站建设四川省建筑施工企业安全员考试
  • 自己做竞猜网站挣钱吗怎么快速建网站教程
  • 抖音营销网站建设价格一起做网站吧