C++开发入门到精通之 new的用法
小职 2021-08-17 来源 : 阅读 485 评论 0

摘要:本文主要介绍了C++开发入门到精通之 new的用法 ,通过具体的内容向大家展现,希望对大家C++开发的学习有所帮助。

本文主要介绍了C++开发入门到精通之 new的用法 ,通过具体的内容向大家展现,希望对大家C++开发的学习有所帮助。

C++开发入门到精通之 new的用法

知识点小结:

new其实就是告诉计算机开辟一段新的空间,但是和一般的声明不同的是,new开辟的空间在堆上,而一般声明的变量存放在栈上。通常来说,当在局部函数中new出一段新的空间,该段空间在局部函数调用结束后仍然能够使用,可以用来向主函数传递参数。另外需要注意的是,new的使用格式,new出来的是一段空间的首地址。所以一般需要用指针来存放这段地址。具体的代码如下:


#include <iostream>

using namespace std;

 

int example1()

{

  //可以在new后面直接赋值

  int *p = new int(3);

  //也可以单独赋值

  //*p = 3;

 

  //如果不想使用指针,可以定义一个变量,在new之前用“*”表示new出来的内容

  int q = *new int;

  q = 1;

  cout << q << endl;

 

  return *p;

}

 

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* example3()

{

  //这里是用一个结构体指针接住结构体数组的首地址

  //对于结构体指针,个人认为目前这种赋值方法比较方便

  student *stlist = new student[3]{{"abc", 90}, {"bac", 78}, {"ccd", 93}};

 

  return stlist;

}

 

 

 

int main()

{

  int e1 = example1();

  cout <<"e1: "<< e1 << endl;

 

  int *e2 = example2();

  for(int i=0; i<3; i++)

    cout << e2[i] << " ";

  cout << endl;

 

 

  student *st1 = example3();

 

  for(int i=0; i<3; i++)

    cout << st1[i].name << " " << st1[i].score << endl;

 

 

 

  return 0;

}

 

我是小职,记得找我

✅ 解锁高薪工作

✅ 免费获取基础课程·答疑解惑·职业测评

C++开发入门到精通之 new的用法

本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程