博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++官方文档-动态内存
阅读量:6540 次
发布时间:2019-06-24

本文共 1252 字,大约阅读时间需要 4 分钟。

#include
#include
using namespace std;int main(){ /** * 动态内存 * url: http://www.cplusplus.com/doc/tutorial/dynamic/ * 关键字new用于在程序运行时动态开辟内存,内存开辟在堆空间. * 此关键字不保证内存一定开辟成功,如果开辟失败,抛出bad_alloc异常,如果此异常没有指定的异常handle,程序就会终止. */ int * foo = nullptr; foo = new int[5]; // if allocation fails, an exception is thrown //另一个方法是nothrow,使用此方法,内存开辟失败,返回null,而不是抛出异常让程序终止 //此方法声明在new文件头内 foo = new (std::nothrow) int[5]; if(foo == nullptr) { } else { foo[0] = 1; cout << foo[0] << endl; delete[] foo; } //内存不在使用,删除内存,delete int i, n; int *p; cout << "how many numbers would you like to type?\n"; cin >> i; cout << "i=" << i << endl; p = new (std::nothrow) int[i]; if(p == nullptr) { cout << "Error: memory could not be allocated" << endl; } else { for(n = 0; n < i; n++) { cout << "enter number:"; cin >> p[n]; } cout << "you have enter:"; for(n = 0; n < i; n++) cout << p[n] << ", "; delete[] p; } return 0;}

 

posted on
2018-01-01 00:38 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/shuiyonglewodezzzzz/p/8159629.html

你可能感兴趣的文章
Javascript 如何生成Less和Js的Source map
查看>>
中间有文字的分割线效果
查看>>
<悟道一位IT高管20年的职场心经>笔记
查看>>
volatile和synchronized的区别
查看>>
10.30T2 二分+前缀和(后缀和)
查看>>
vuex视频教程
查看>>
Java 线程 — ThreadLocal
查看>>
安居客爬虫(selenium实现)
查看>>
-----二叉树的遍历-------
查看>>
ACM北大暑期课培训第一天
查看>>
Scanner类中输入int数据,再输入String数据不正常的
查看>>
F. Multicolored Markers(数学思维)
查看>>
Centos7安装搜狗输入法
查看>>
nodjs html 转 pdf
查看>>
Python字典
查看>>
ofstream 的中文目录问题
查看>>
Android存储方式之SQLite的使用
查看>>
springcloud ribbon 客户端负载均衡用法
查看>>
洛谷P1287 盒子与球 数学
查看>>
自定义starter
查看>>