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

C++:new

还记得之前帖子中提到的malloc吗,new和malloc都可以申请和释放空间。

一般使用new有三种格式:

1.指针变量名=new+类型;

2.指针变量名=new+类型(赋予一个初始值);

3.指针变量名=new+类型[内存单元个数];

释放空间需要用到delete。

例子:

#include<iostream>
using namespace std;int main()
{int* p=new int(100);cout << *p << endl;//100delete p;char* str = new char[4];str[0] = 'a';str[1] = 'b';str[2] = 'c';str[3] = '\0';cout << str << endl;delete[] str;//释放数组的格式return 0;
}

在C++中用malloc要加强制类型转换,如:

#include<iostream>
using namespace std;int main()
{int* p = (int*)malloc(4);*p = 100;cout << *p << endl;free(p);char* str = (char*)malloc(4);str[0] = 'a';str[1] = 'b';str[2] = 'c';str[3] = '\0';cout << str << endl;free(str);return 0;
}

注意:

new和malloc可以混用,但在C++中我们常用new。

之后的帖子中会总结二者的区别。


http://www.mrgr.cn/news/14675.html

相关文章:

  • java写入word表格(poi-tl)
  • 使用 Spring Boot 快速构建 Java Web 应用
  • SpringBoot 项目——抽奖系统
  • 计算机网络模型
  • Leetcode 15.三数之和
  • 【C++】类与对象
  • 爬虫可以通过那几种方式更换IP爬取
  • MyBatis之XML配置文件(一)
  • centos安装mysql8.0版本,并且实现远程连接
  • RSA非对称性加密02: 加密redis的连接密码(下)-私钥加密,公钥解密
  • 【文档合集】软件类常用文档整理大全,软件工程,软件项目管理,技术标书方案,模
  • 代码随想录跟练第九天——LeetCode 232.用栈实现队列、225. 用队列实现栈、20. 有效的括号、1047. 删除字符串中的所有相邻重复项
  • RAG中pdf解析的方法全览
  • 重构贪心算法(二)
  • 【ElasticSearch】基本命令
  • 学懂C++(四十四):C++ 自定义内存管理的深入解析:内存池与自定义分配器
  • wordpress跨境电商外贸独立站 常见获取流量方式
  • 在手机在线预览3D模型,是如何实现的?
  • Qt 调用MFC dll,动态库中有界面
  • 【Python】简单的数据类型——int、float、bool、str