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

网站建设公司哪家好找建设网站公司哪家好

网站建设公司哪家好,找建设网站公司哪家好,淘宝网站做多久,做网站送的企业邮箱能用吗如果你是Java、C#、PHP程序员#xff0c;那么会对 new 非常熟悉#xff0c;在这些编程语言中#xff0c;只能通过 new 来创建对象。在C中#xff0c;你可以像定义变量一样来创建对象#xff0c;如#xff1a; Student stu; //对象已被实例化#xff0c;已分配内存空间那么会对 new 非常熟悉在这些编程语言中只能通过 new 来创建对象。在C中你可以像定义变量一样来创建对象如 Student stu; //对象已被实例化已分配内存空间可以使用了stu.say(); //调用成员函数 这种情况下系统会在栈区为对象分配内存。栈区是内存中的一块区域由系统自动分配和释放程序员无法操控一般用来存放函数的参数值、局部变量、局部对象等。当发生函数调用时系统将函数参数、局部变量、局部对象依次压入栈区函数执行结束再按照先进后出的原则将它们弹出销毁。对于大部分程序这不会有什么问题。但当你希望在函数调用结束前销毁对象时你是无能为力的。或者你希望通过 for 循环来创建多个对象这种方法同样也做不到。这个时候 new 和 delete 就派上了用场使用 new 创建的对象可以在任意时刻通过 delete 销毁而且只需要一个指针指向它。以前面的 Student 类为例可以这样来动态创建对象 new Student; 也可以使用构造函数 new Student(小明, 15, 90.5f); 这样就在堆区为对象分配了内存并调用了构造函数。但是此时程序员还无法访问这个对象因为这个对象既没有名字也没有指针指向它。这种对象称为 匿名对象 它确实存在但无法访问。用一个指针来指向Student类的对象 Student *pStu; pStu new Student(小明, 15, 90.5f); 或者 Student *pStu new Student(小明, 15, 90.5f); 当不再需要对象时可以通过 delete 销毁 delete pStu; 这样就释放掉了对象占用的内存并调用了析构函数。需要说明的是new 在堆区为对象分配内存。与栈区不同的是堆区内存由程序员分配和释放系统不会自动销毁即使函数调用结束了仍然会保留堆区内存。如果程序员不主动回收堆区内存那么只能在程序运行结束后由操作系统回收。为了避免内存泄露强烈建议 new 和 delete 成对出现及时销毁不再需要的对象。例如下面的代码会造成严重的内存泄露 #include iostream#include cstdlibusing namespace std;class Demo{private: double n; double m; int i;};void func(){ Demo *p new Demo;}int main(){ int i; for(i1; i1000000; i){ func(); } system(pause); return 0;} 当程序运行到 system(pause); 语句时你可以打开任务管理器会发现这个小小的程序竟然占用了 32M 内存。这是因为每次调用 func 函数都会创建一个对象并用 p 指向它。函数运行结束仅仅释放了指针变量 p 占用的内存而没有释放 p 所指向的对象占用的内存。如果在 func 函数中不回收对象内存那么你将永远无法回收只能等到程序运行结束由操作系统回收这就是典型的内存泄露。另外注意C语言中的 malloc、free 函数不能用来为对象分配和释放内存。请看下面的例子 #include iostreamusing namespace std;class Demo{public: Demo(); ~Demo();};Demo::Demo(){ coutConstructorendl;}Demo::~Demo(){ coutDestructorendl;}int main(){ cout------new------endl; Demo *p1 new Demo; //创建一个对象 Demo *p2 new Demo[5]; //创建一组对象 cout------malloc------endlendl; Demo *p3 (Demo*)malloc(sizeof(Demo)); cout------delete------endl; delete p1; //销毁一个对象 delete[] p2; //销毁一组对象 cout------free------endl; free(p3); return 0;} 运行结果------new------ConstructorConstructorConstructorConstructorConstructorConstructor------malloc------------delete------DestructorDestructorDestructorDestructorDestructorDestructor------free------从程序运行结果可以看出malloc 虽然分配了内存但没有调用构造函数free 虽然释放了内存但也没有调用析构函数。
http://www.pierceye.com/news/332214/

相关文章:

  • 网站建设网上学a8直播免费版
  • 网上下载的免费网站模板怎么用灯箱网站开发
  • 四平市建设局网站贵州省民贸民品企业信息管理系统
  • 周口网站制作公司哪家好河南省信息服务平台官网
  • 然后建设自营网站湘潭市优化办
  • 大兴专业网站开发公司皮具网站建设策划书
  • 广告投放跟网站建设一样吗呼和浩特免费制作网站
  • 个人做网站的时代已经过去个人手机网站
  • 用vps做网站深圳广告公司招聘安装工人
  • 建设电影网站怎么上传电影如何建企业网站
  • 响应式网站制作公司org域名购买
  • 石家庄网站建设德信互联科技有限公司爬取漫画数据做网站
  • 国内免费iphone网站百度自然排名优化
  • 自己做网站主机做网站和推广
  • wordpress 淘宝嘉兴做网站优化
  • h5 网站开发流程asp个人网站建设
  • 网站建设 正邦企业邮箱怎么认证
  • 建设流网站项目成都住建局官网首页
  • 网站简历文字如何空行产品如何推广市场
  • 吕梁网站设计腾讯营销平台
  • 如何查看网站流量公众号申请网站
  • 阐述企业搭建网站的重要性免费做效果图的网站有哪些
  • 快速网站搭建南宁广告公司网站建设
  • 做数学题网站专业做网站建设 昆山
  • 建筑网站上海网页设计图片素材网
  • 延边网站开发depawo做汽车网站销售怎么入手
  • 商城网站开发技术南京好的网站制作公司
  • 嘉兴网站建设嘉兴网站推广网站网络营销方案
  • 镇江建工建设集团网站建设银行网站怎么基本转个人
  • 自己建的网站打开的特别慢盐城网站建设效果