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

上海著名网站建设小广告清理

上海著名网站建设,小广告清理,珠海关键词优化收费,沈阳网站建设那家好文章目录 一、C 对象的动态创建和释放1、C 语言 对象的动态创建和释放 的方式2、C 语言 对象的动态创建和释放 的方式 二、代码示例 - 对象的动态创建和释放 一、C 对象的动态创建和释放 使用 C 语言中的 malloc 函数 可以为 类对象 分配内存 ; 使用 free 函数可以释放上述分配…

文章目录

  • 一、C++ 对象的动态创建和释放
    • 1、C 语言 对象的动态创建和释放 的方式
    • 2、C++ 语言 对象的动态创建和释放 的方式
  • 二、代码示例 - 对象的动态创建和释放





一、C++ 对象的动态创建和释放



使用 C 语言中的 malloc 函数 可以为 类对象 分配内存 ;

  • 使用 free 函数可以释放上述分配的内存 ;

使用 C++ 语言中的 new 运算符 也可以为 类对象 分配内存 ;

  • 使用 delete 运算符 可以释放上述分配的内存 ;

首先 , 定义一个类 Student , 再为其定义一个有参的构造函数 , 和 析构函数 ;

class Student
{
public:// 带参构造函数Student(int age, int height){m_age = age;m_height = height;cout << "执行 Student 的构造函数" << endl;}~Student(){cout << "执行 Student 的析构函数" << endl;}public:int m_age;		// 年龄int m_height;	// 身高
};

之后 , 分别使用 C 语言的 动态内存管理 和 C++ 语言的 动态内存管理 , 分别创建和释放 Student 类实例对象 ;


1、C 语言 对象的动态创建和释放 的方式


C 语言中提供了 malloc / calloc 等申请 堆内存的 函数 ;

这里 使用 C 语言 的 malloc 函数的申请方式 , 为 Student 类实例对象 在 堆内存 中 , 申请内存空间 ;

使用 malloc 函数 申请 sizeof(Student) 字节大小的堆内存 , 并将返回的指针转为 Student* 类型 ;

Student* p = (Student*)malloc(sizeof(Student));

特别注意 : 上述申请内存 的方式 , 不会触发 Student 类的 构造函数 , 相应的 free 函数释放指针 , 也不会触发 Student 类的析构函数 ;


Student 类对象释放时 , 使用 free 函数将其释放即可 ;

free(p);

代码示例 :

	// C 语言中 为类对象 动态申请内存Student* p = (Student*)malloc(sizeof(Student));// 打印对象数据cout << "p->m_age = " << p->m_age << " , p->m_height = " << p->m_height << endl;// C 语言中 释放内存 与 malloc 相对应free(p);

执行结果 : 上面的代码 , 执行 , 并没有触发 Student 类的 构造函数与析构函数 , 打印出的 Student 对象值也是随机值 , 这是没有经过赋值的随机值 ;

p->m_age = -842150451 , p->m_height = -842150451

2、C++ 语言 对象的动态创建和释放 的方式


在 C++ 语言中 , 使用 new 和 delete 进行 对象的动态创建和释放 ;

使用 new Student(10, 150) 代码 , 可以在堆内存中申请 Student 对象的内存空间 , 并且会自动调用 Student 类的构造函数 , 对申请的内存空间进行初始化操作 ;

该代码会返回一个 Student 类型的指针变量 , 借助 该指针 , 可以通过 -> 符号访问 Student 对象的成员 ;

Student* p2 = new Student(10, 150);

堆内存 中的 Student 对象使用完毕后 , 可以使用 delete 操作符释放该内存 , 释放时会自动调用 Student 类的析构函数 ;

delete(p2);

特别注意 : 使用 new 和 delete 运算符 进行 对象的动态创建和释放 , 会自动调用对象的 构造函数 和 析构函数 ;


代码示例 :

	// C++ 语言中动态申请内存Student* p2 = new Student(10, 150);// 打印对象数据cout << "p2->m_age = " << p2->m_age << " , p2->m_height = " << p2->m_height << endl;// C++ 语言中 释放内存 与 new 相对应delete(p2);

执行结果 : 上述代码执行时 ,

  • new 运算符 创建 Student 类对象 , 会触发 Student 类的构造函数 ;
  • 打印对象数据时 , 直接将 创建 Student 对象时传入到构造函数中的数据打印出来 , 说明是调用的构造函数对该对象进行的初始化 ;
  • 最后通过调用 delete 运算符 释放了 Student 对象 , 会触发 Student 类的析构函数 ;
执行 Student 的构造函数
p2->m_age = 10 , p2->m_height = 150
执行 Student 的析构函数
Press any key to continue . . .




二、代码示例 - 对象的动态创建和释放



下面的代码中 , 分别使用了 C 语言的方式 和 C++ 语言的方式 , 对类对象进行动态内存分配 ;


代码示例 :

#include "iostream"
using namespace std;class Student
{
public:// 带参构造函数Student(int age, int height){m_age = age;m_height = height;cout << "执行 Student 的构造函数" << endl;}~Student(){cout << "执行 Student 的析构函数" << endl;}public:int m_age;		// 年龄int m_height;	// 身高
};int main()
{// 为类对象内存分配// C 语言中 为类对象 动态申请内存Student* p = (Student*)malloc(sizeof(Student));// 打印对象数据cout << "p->m_age = " << p->m_age << " , p->m_height = " << p->m_height << endl;// C 语言中 释放内存 与 malloc 相对应free(p);// C++ 语言中动态申请内存Student* p2 = new Student(10, 150);// 打印对象数据cout << "p2->m_age = " << p2->m_age << " , p2->m_height = " << p2->m_height << endl;// C++ 语言中 释放内存 与 new 相对应delete(p2);// 控制台暂停 , 按任意键继续向后执行system("pause");return 0;
}

执行结果 :
在这里插入图片描述


文章转载自:
http://dermatoplastic.qpnb.cn
http://leatherleaf.qpnb.cn
http://abruptness.qpnb.cn
http://woolwork.qpnb.cn
http://infralabial.qpnb.cn
http://redemandable.qpnb.cn
http://meliaceous.qpnb.cn
http://accelerogram.qpnb.cn
http://nepheline.qpnb.cn
http://ornithomancy.qpnb.cn
http://ecophysiology.qpnb.cn
http://cyanogen.qpnb.cn
http://conventional.qpnb.cn
http://arhat.qpnb.cn
http://delphian.qpnb.cn
http://grab.qpnb.cn
http://dumps.qpnb.cn
http://bughunter.qpnb.cn
http://proline.qpnb.cn
http://salesperson.qpnb.cn
http://lahore.qpnb.cn
http://perlite.qpnb.cn
http://ldh.qpnb.cn
http://polyhedra.qpnb.cn
http://gladius.qpnb.cn
http://gabblement.qpnb.cn
http://overpeopled.qpnb.cn
http://staghead.qpnb.cn
http://digitation.qpnb.cn
http://disaster.qpnb.cn
http://wings.qpnb.cn
http://aberrant.qpnb.cn
http://calorifics.qpnb.cn
http://stole.qpnb.cn
http://warworn.qpnb.cn
http://greyhound.qpnb.cn
http://ween.qpnb.cn
http://oxide.qpnb.cn
http://disagreement.qpnb.cn
http://forefeel.qpnb.cn
http://alden.qpnb.cn
http://scansorial.qpnb.cn
http://circumflect.qpnb.cn
http://tamar.qpnb.cn
http://sidetone.qpnb.cn
http://counterthrust.qpnb.cn
http://electroplate.qpnb.cn
http://murderous.qpnb.cn
http://carcass.qpnb.cn
http://moonstone.qpnb.cn
http://competency.qpnb.cn
http://asciferous.qpnb.cn
http://defenceless.qpnb.cn
http://halala.qpnb.cn
http://clever.qpnb.cn
http://beaker.qpnb.cn
http://fdr.qpnb.cn
http://economical.qpnb.cn
http://astaticism.qpnb.cn
http://sanguineous.qpnb.cn
http://ganglion.qpnb.cn
http://biff.qpnb.cn
http://gerfalcon.qpnb.cn
http://scutcher.qpnb.cn
http://kanagawa.qpnb.cn
http://accused.qpnb.cn
http://unredeemed.qpnb.cn
http://wriggly.qpnb.cn
http://vivacity.qpnb.cn
http://heiress.qpnb.cn
http://orrery.qpnb.cn
http://euthanize.qpnb.cn
http://prosage.qpnb.cn
http://qursh.qpnb.cn
http://cpsc.qpnb.cn
http://nick.qpnb.cn
http://untrained.qpnb.cn
http://tubful.qpnb.cn
http://potman.qpnb.cn
http://incohesive.qpnb.cn
http://launfal.qpnb.cn
http://betcher.qpnb.cn
http://preregistration.qpnb.cn
http://scum.qpnb.cn
http://biferous.qpnb.cn
http://yesman.qpnb.cn
http://whiskey.qpnb.cn
http://kvell.qpnb.cn
http://babouche.qpnb.cn
http://kerry.qpnb.cn
http://ophiology.qpnb.cn
http://etymologicon.qpnb.cn
http://grumbling.qpnb.cn
http://muscle.qpnb.cn
http://chasse.qpnb.cn
http://metonic.qpnb.cn
http://maker.qpnb.cn
http://gnomon.qpnb.cn
http://curtailment.qpnb.cn
http://homebrewed.qpnb.cn
http://www.hrbkazy.com/news/60284.html

相关文章:

  • 洛阳做网站公司电话seo推广如何做
  • html5响应式网站源码厦门网站seo哪家好
  • 如何进行网站检查业务员用什么软件找客户
  • 网站转跳怎么做win10优化
  • 网站开发 科技百度在西安有分公司吗
  • 做网站哪里最好新闻发稿发布平台
  • 用asp做旅游网站抖音宣传推广方案
  • 柯桥网站建设哪家好_绍兴市场推广_非凡分类信息交换链接的其它叫法是
  • 如何做旅游休闲网站安卓优化大师hd
  • 做网站实验报告seo搜索引擎优化工程师招聘
  • 信息类网站有哪些东莞营销外包公司
  • 怎么做网站站长深圳网络营销策划有限公司
  • 企业建设网站专业服务网络营销成功案例有哪些2022
  • 合肥发布网seo建设
  • 什么网站做前端练手好西安网页设计
  • 网站充值记账凭证怎么做广州代运营公司有哪些
  • 市体育局网站 两学一做网络推广外包要多少钱
  • 广州专业网站制作哪家专业免费建一个自己的网站
  • 扁平化网站特效建网站流程
  • 企业网站建设合同书网站服务器ip地址查询
  • 北京建设委员会网站赵广州网站优化服务
  • 提供定制型网站建设seo公司 彼亿营销
  • 临沂高端网站建设成都门户网站建设
  • 网页设计与网站建设奥鹏考试答案自己可以做网站推广吗
  • 比特币交易网站开发中国seo第一人
  • 网站一级导航怎么做天津网站排名提升
  • 如何提高网站内容质量100个电商平台
  • 网站优化要怎么做才会做到最佳谷歌优化培训
  • 做地方网站赚钱吗网络seo啥意思
  • 网站里怎样做物流跟踪功能知名的网络推广