情人节new一个对象给你

简介: 情人节new一个对象给你

今天情人节,有没对象的吗?假设你不知道new怎么用,每个人都有两种身份,一种没对象的人,这个时候new一个对象给你,一种是有对象的人,这个delete对象。等你学完这个new和delete知识点,无论何时何地,你都能new或者delete一个对象。


一.关于new与delete


new和malloc一样,就是告诉计算机开辟一段新的空间,但是和一般的声明不同的是,new开辟的空间在堆上,而一般声明的变量存放在栈上。new开辟空间和普通变量开辟空间不同,比如为普通变量开辟的内存(在栈区),在函数体里面使用完之后就会立即被操作系统释放,而new开辟的内存(在堆区)在函数结束的时候必须由程序员手动释放,如果这块内存不用了,用delete运算符释放它


二.使用堆区的内存有四个步骤:


1)声明一个指针;


2)用new运算符向系统申请一块内存,让指针指向这块内存;


3)通过对指针解引用的方法,像使用变量一样使用这块内存;


4)如果这块内存不用了,用delete运算符释放它。


注意: 如果申请成功,返回一个地址;如果申请失败,返回一个空地址;


释放内存的语法:delete 地址;


释放内存不会失败(还钱不会失败)。


三.申请内存的语法:


  • new 数据类型
  • new 数据类型(初始值)
  • new 数据类型[常量表达式]


四.示例:

  int  * p1=new int;//new一个整形对象
  int* p2 = new int(2); // *p2初始化值是2,这样直接在定义后面初始化是可以的
    cout << "*p=" << *p << endl;
    *p = 8;//解引用修改p所直指向的值也是可以的
    cout << "*p=" << *p << endl;
    delete p;
 //如果不想使用指针,可以定义一个变量,在new之前用“*”表示new出来的内容
  int q = *new int;
  q = 1;
  cout << q << endl;
  int  *p3=new int[1000] //申请1000个单位内存空间
  int* example2()
{
  //当new一个数组时,同样用一个指针接住数组的首地址
  int *q = new int[3];
  for(int i=0; i<3; i++)
    q[i] = i;
  return q;
}
struct student
{
  string name;
  int score;
};
student* stu()
{
  //这里是用一个结构体指针接住结构体数组的首地址
  //对于结构体指针,个人认为目前这种赋值方法比较方便
  student *stud = new student[3]{{"张三", 100}, {"李四", 100}, {"王五", 100}};
  return stud;
}


注意:


  • 动态分配出来的内存没有变量名,只能通过指向它的指针来操作内存中的数据。
  • 如果动态分配的内存不用了,必须用delete释放它,否则有可能用尽系统的内存。
  • 动态分配的内存生命周期与程序相同,程序退出时,如果没有释放,系统将自动回收。
  • 就算指针的作用域已失效,所指向的内存也不会释放。
  • 用指针跟踪已分配的内存时,不能跟丢。
相关文章
|
8月前
|
编解码 Python
Python3,我把新年祝福写在“雨“中,你看,雨一直下,气氛还算融洽,在同个屋檐下....
Python3,我把新年祝福写在“雨“中,你看,雨一直下,气氛还算融洽,在同个屋檐下....
42 0
|
9月前
|
程序员
有了这些不愁找不到对象,520表白代码
有了这些不愁找不到对象,520表白代码
49 0
|
计算机视觉
【七夕限定】5分钟搞定送媳妇儿的节日气球🎈
前言 大家好,我是HoMeTown,下周不出意外的话那么下周就是七夕节了,周六日也就是周末陪媳妇儿看电影外太空的莫扎特,有一说一,这个电影真的不推荐14岁以上的人观看,小孩看还行,给我的感觉就是低配版长江七号。散场之后,碰巧路边有一个卖气球的小姑娘,去买一个,单价30人民币,我直呼我直呼,如果兜里没钱的话,可能兜里就没钱了吧。但是这个怎么可能难得住一个即将秃头的我?
84 0
|
Python
最长情的告白就是陪伴【Python七夕祝福】——那些浪漫的开始
最长情的告白就是陪伴【Python七夕祝福】——那些浪漫的开始
124 0
最长情的告白就是陪伴【Python七夕祝福】——那些浪漫的开始
|
程序员
七夕?new一个对象
那些初见印象 那些浪漫的开始 那些铭记于心的大小事 那些经历的曲折 那些经历的幸福与快乐 那些珍贵的瞬间 那些对未来的期许/计划
65 0
想过七夕?->女朋友陪你玩游戏(C)(上)
三子棋 七夕到了,没有女朋友怎么办?没事~ 写一个小游戏,让女朋友陪你玩三子棋~
想过七夕?->女朋友陪你玩游戏(C)(上)
想过七夕?->女朋友陪你玩游戏(C)(下)
七夕到了,没有女朋友怎么办?没事~ 写一个小游戏,让女朋友陪你玩扫雷~
想过七夕?->女朋友陪你玩游戏(C)(下)
想过七夕?->女朋友陪你玩游戏(C)(中)
在一定数值范围内,游戏随机生成一个数字,玩家输入比随机数大的数字时,程序会提醒,数值大于目标数,反之亦然。通过不断试错,最终找出目标数字。此游戏可以重复玩。
想过七夕?->女朋友陪你玩游戏(C)(中)
|
人工智能 数据可视化 Windows
R可视乎|用R给心仪的对象表白吧
早上听完讲座才想起来,今天520了。那这样吧,小编给做了个小小的惊喜给读者们,年轻的盆友可以用这“小玩意”给自己心仪的对象表白了。
317 0
R可视乎|用R给心仪的对象表白吧