new 关键字的作用

用于动态分配内存空间的

什么时候用到new

说到这个我先大致说下,C++ 中的存储方法大致有 自动存储,静态存储,和动态存储.

静态存储:声明变量的时候前面添加static 关键字

自动存储: 这个举个例子,在一个函数A里面定义了一个变量并初始化, int a =10 ; 这个就是自动存储,

a仅当A()函数活动时存在。当成许控制权回到main()时,a使用的内存将自动被释放,

这也是为为啥自动存储不能使用new 的原因,因为内存会自动释放呢,java 里面不会释放内存,所以java 里面可以自定义变量的时候初始化,

动态存储:数据的声明周期不完全受程序或函数的生命时间控制 ,所以C++ 中有new 来分配空间,不过由于内存不会自动释放,所以使用完之后还需要使用delete 来释放内存.

C++ new 的方法:

1 单独的变量分配内存

#include <iostream>
#include <string>
using namespace std;
// 普通的指针,与new 对比
int main()
{int b = 100;int *p;p = &b;//或者// int *p =&b;cout << *p << endl;// 使用new 分配内存空间int *c = new int;*c =100;// 或者// int *c = new int(100);cout << *c << endl;// 使用delete释放内存delete p;
}

2 对象分配内存

#include <iostream>
#include <string>
using namespace std;class Anima
{
public:      void a_fun(){cout << "AAAAA" << endl;}
};int main()
{//分配一个对象的空间Anima* anima = new Anima();anima->a_fun();delete anima;return 0;
}

3 与关键字operator 在一起使用,

这个自己用的比较少,一时想不到很好的demo 就不写了,目前先记住有这种使用的方法.

最新文章

  1. sql server T-SQL 基础
  2. python流程控制-Python | 流程控制
  3. 数学建模:1.概述 监督学习--回归分析模型
  4. PowerDesigner提示This data item is already used in a primary identifier.的处理
  5. 使用kubectl查看Kubernetes集群里的node节点信息
  6. linux配置usb主从_杂集:浅谈关于Mongodb数据库主从复制
  7. python命令行tab补全_python命令行下按tab建补全的方法
  8. mysql unknown column mysql.user_MYSQL创建用户Unknown column 'plugin' in 'mysql.user'的解决
  9. android 程序 架构,Android应用架构
  10. 【紫书第九章】动态规划(DP)常见模型汇总与DP问题分析方法
  11. php查询mysql表里的数据_PHP连接Mysql数据库读取表格数据
  12. JSP实用教程 第二章 JSP语法
  13. java 从入门到精通PDF
  14. cxp文件查看 欧姆龙_欧姆龙PLC CXP编程软件外文手册
  15. fluent-bit 本地安装及配置
  16. app的性能测试小工具Emmagee使用教程
  17. pytorch使用万能模板
  18. java 提高随机数效率_抢拍神器的关键:优化提升Java线程局部随机数ThreadLocalRandom高并发技巧 - alidg...
  19. PO(PageObject)模型
  20. MacTeX添加.sty文件

热门文章

  1. 2022-2028年中国橡胶漆产业发展动态及未来趋势预测报告
  2. 浅显易懂 Makefile 入门 (07)— 其它函数(foreach 、if、call、origin )
  3. 快速给shell脚本加上使用提示
  4. 简述Web程序开发流程
  5. Pytorch系列教程-使用Seq2Seq网络和注意力机制进行机器翻译
  6. ERROR: epmd error for host 192: badarg (unknown POSIX error)
  7. LeetCode中等题之无重复字符的最长字串
  8. 高精地图与自动驾驶(下)
  9. 自动驾驶十字路口解决方案
  10. 加密算法有哪些?对称加密和非对称加密的区别?