C++的学习记录 - 01

动态内存分配和释放一直不怎么明白。

实验程序为:

 1 # include <iostream>
 2 # include <cstdlib>
 3 using namespace std;
 4
 5 int main()
 6 {
 7     int *p;
 8     if((p = new int(5)) == 0)
 9     {
10         cout<<"can‘t allocate more memory, terminating.."<<endl;
11         exit(1);
12     }
13
14     cout<<"Before deleting:"<<endl;
15     cout<<"p = "<<p<<endl;
16     cout<<"*p = "<<*p<<endl<<endl;
17
18     delete p;
19
20     cout<<"After deleting:"<<endl;
21     cout<<"p = "<<p<<endl;
22     cout<<"*p = "<<*p<<endl;
23
24     return 0;
25 }

程序结果为:

Before deleting:
p = 0x9724008
*p = 5

After deleting:
p = 0x9724008
*p = 0

堆内存被释放后,指针还指向原来的位置,内容改变为“0”。

为什么是0呢。。。。。。

时间: 2024-10-09 20:28:15

C++的学习记录 - 01的相关文章

Activiti框架学习记录-01

Activiti框架学习记录-01 本篇主要是Activiti工作流框架的学习记录,以及对于该框架的基本使用和一些浅显的理解: 1.工作流框架基本概念 2.在eclipse中使用工作流框架 3.创建工作框架 4.使用框架提供API,操作框架实现业务逻辑 1.工作流框架基本概念(摘自百度百科) 工作流(Workflow),就是"业务过程的部分或整体在计算机应用环境下的自动化",它主要解决的是"使在多个参与者之间按照某种预定义的规则传递文档.信息或任务的过程自动进行,从而实现某个

学习记录01 --- 访问JDBC,制作教务管理系统

首先说下我就一个菜鸡,只是记录下自己的学习过程,大佬们无视我就好... --------------------------------------------------------------------------------------------------------- 今天学习了JDBC,下午就做了一个经典的增删改查的案例,教务管理系统 自己也试着封装了一下,面向对象思想嘛 原来一直用的eclipse,直到今天接触到idea才知道啥叫真正的好用,但对于idea还是比较陌生,还得摸索

Linux学习记录-01(Linux系统发展史)

对计算机一直感觉很神秘,想要学习,奈何不是计算机专业出身,最近决定开始学习,也算是充实一下自己,希望自己可以坚持下去. 一.Linux系统Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议.它支持32位和64位硬件.Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统.Linux操作系统诞生于1991 年10 月5 日(这是第一次正

《Android第一行代码》学习记录01

第一章 开始启程,你的第一行Android代码 1.对Android开发的环境搭建(Eclipse+Android SDK+ADT)进行了介绍,正好我的渣渣笔记本也跑不了Android Studio,Eclipse就先用着. 2.添加LogCat到Eclipse,步骤:[Window菜单]->[Show View]->[Other]->[LogCat] 3.重要的是介绍了Android的系统架构,见下图: Linux Kernel层: 基于Linux2.6内核,为Android各种硬件提

微信开发学习记录 01

最近几天做了一下微信开发,总结了一些经验和教训. 首先是微信token链接,最开始连接的时候总是出现token连接失败,总以为是设置的不对,结果第二天就好了.而且发现,如果上传的代码(我用的是新浪云)有错误的话,可能会连不上(不知道对不对,我只是根据连接的经历总结的) 其次呢,就说一下编程时遇到的一些困难.最开始一两天的时候,总是觉得在网站上没有办法调试,根本不知道哪里会出错.后来发现其实是可以调试的,只是没有办法像编译器一样进行断点调试.但是一些语法问题还是可以发现的. 点击画篮圈的链接,可以

Webpack 学习记录-01

Webpack 2.0系列 1,output path路径必须为absolute path. { entry: './src/app.js', output: { filename: 'bundle.js', path: __dirname + '/build' } }   output.path  The output directory as an absolute path (required). 若写为:  path:"./dist/js"   则报错如下:Invalid co

Node.js Windows系统学习记录 -- 01用法

1.安装Node 在我之前的文章Windows系统下安装fis3中提到过怎么安装Node 2.打开cmd输入: mkdir %USERPROFILE%\projects cd %USERPROFILE%\projects 3.创建一个js脚本 hello-world.js const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; const server = http.createServer((

Python学习记录day6

Python学习记录day6 学习 python Python学习记录day6 1.反射 2.常用模块 2.1 sys 2.2 os 2.3 hashlib 2.3 re 1.反射 反射:利用字符串的形式去对象(默认)中操作(寻找)成员 cat commons.py #!/usr/bin/env python#_*_coding:utf-8_*_''' * Created on 2016/12/3 21:54. * @author: Chinge_Yang.''' def login(): pr

MVC+Ext.net零基础学习记录(五)

继MVC+Ext.net零基础学习记录(四),在后面我在既有的项目上又添加了一个子项目,还用前面提到的方法,进行主项目中引用DLL,然后子项目中生成事件中使用mkdir 进行拷贝 发现一个下午就总是报错 错误 1 命令“mkdir "...\Areas\HPSS\Views" xcopy "...?\Views" "E:\Work\01 TPMSRC\MVCWEBTPM\WEBTPM\Areas\HPSS\Views" /S /E /C /Y 已