关于动态变量的指针变化问题

问题描述

关于动态变量的指针变化问题

通过测试,我发现在新建一个动态变量后,指向一个动态变量的指针可以去指向另一个变量,那么之前的那个动态变量怎么delete呢?

解决方案

你让分配来的指针指向其它位置前,就必须先释放分配来的内存。否则,就出现泄露了。

解决方案二:

需要O保存,不然就没有知道当初那块地址了,这样就会有内存泄漏。

解决方案三:

以前的变量所占的内存丢失,无法再delete了,内存泄露。

解决方案四:

通过指向那个之前动态变量的指针delete释放内存。或者建立临时指针变量,来暂存新建的动态变量地址,等通过之前动态变量的指针释放之前动态变量内存后,再把暂存新建的动态变量地址的临时指针变量,或者说建立的动态变量地址赋值给指向最初动态变量的指针。

时间: 2024-08-22 03:39:48

关于动态变量的指针变化问题的相关文章

一个原创的仪表控件

路过世纪飞扬的网站发现好些个仪表控件,可惜都要付费,这对于很多用户来说不得不说是一件憾事.最近两天导师项目不忙,就抽空做了一个仪表控件,是对照别人的仪表外观做的,在此公布出来大家讨论讨论,最好大家都写些免费的控件放在网上,好资源共享.如果有兄弟觉得好用的话,请在使用处留下俺的名号,这就够给我面子了. 1.效果图 2.CMeter类的使用方法 (1)Meter.cpp和Meter.h以及MemDC.h加入到你的工程中. (2)在你的工程中放入一个图片框控件,并通过类向导声明一个CStatic类的对

如何在改变鼠标光标时不闪烁

微软知识库有一篇文章Q131991描述了三种方法来改变基于MFC应用的鼠标光标.其中一种方法是重载CWnd::PreCreateWindow()函数注册自己的要改变鼠标指针的窗口类.这个方法对于要始终使用一个鼠标光标的应用程序很适合. 如果在应用程序中要动态改变鼠标光标,微软知识库的这篇文章建议重载CWnd::OnSetCursor()来实现.但是这种方法有一个缺点,就是当设置鼠标光标及还原时都会出现令人讨厌的光标闪烁. 如果应用程序中要使用几个不同的鼠标光标,为了不发生任何光标闪烁,本文介绍一

向Google学习打造灵动的web体验

Google的设计一向以简单著称,让页面清爽优雅地呈现,一方面节省了页面载入的时间,减少用户的等待,另一方面也减少了用户在浏览页面时的分心.然而,在这简单的设计背后,并不是设计师偷懒,而是更加灵敏.细致.轻便的交互体验设计.Google+作为社交网络的又一力作, 在继承了公司著名的十大设计准则下,在如何更轻.更快速.更人性化方面有了很大的突破.本文主要以社交网络为例,分析总结出了六条让web体验更灵动的设计方法,供大家参考. 1.图形化的导航 社交网的信息十分繁杂,因此导航的引导就显得至关重要.

先学习提高网站可用性的6大原则

通常网站有三种类型,一种是没创意没设计,光靠内容出彩的,这类网站以1024和正方系统为代表.第二种是设计出彩,体验糟糕的,最后这类视觉功夫好,可用性也特别棒的网站,才能留住访客,今天分享6个提高网站可用性的基本原则,都是用户体验的基础知识,新手必备呦! 通常,网站有三种类型: 第一种网站有杰出的创意和设计.这样的网站会让你发出「Wow」的赞叹.但是,不幸的是,除了好设计,他们没有更多东西了. 第二种网站缺乏创意和设计,但是你在上面可以立刻找到你想要的东西!但是你会因为他们在视觉上缺乏吸引力而关掉

比较C语言标准I/O与*nix系统I/O的异同

   linux/unix系统的I/O也就是一般所说的低级I/O--操作系统提供的基本IO服务,与os绑定,特定于*nix平台.而标准I/O是ANSI C建立的一个标准I/O模型,是一个标准函数包和stdio.h头文件中的定义,具有一定的可移植性.两者一个显著的不同点在于,标准I/O默认采用了缓冲机制,比如调用fopen函数,不仅打开一个文件,而且建立了一个缓冲区(读写模式下将建立两个缓冲区),还创建了一个包含文件和缓冲区相关数据的数据结构.低级I/O一般没有采用缓冲,需要自己创建缓冲区,不过其

Linux0.11内核剖析--内核代码(kernel)--sched.c

1.概述 linux/kernel/目录下共包括 10 个 C 语言文件和 2 个汇编语言文件以及一个 kernel 下编译文件的管理配置文件 Makefile.其中三个子目录中代码注释的将放在后面的文章进行.本文主要对这 13 个代码文件进行注释. 首先我们对所有程序的基本功能进行概括性地总体介绍, 以便一开始就对这 12 个文件所实现的功能和它们之间的相互调用关系有个大致的了解,然后逐一对代码进行详细地注释. 本文地址:http://www.cnblogs.com/archimedes/p/

嵌入式 C 语言的可变参数表函数的设计

首先在介绍可变参数表函数的设计之前,我们先来介绍一下最经典的可变参数表printf函数的实现原理.一.printf函数的实现原理在C/C++中,对函数参数的扫描是从后向前的.C/C++的函数参数是通过压入堆栈的方式来给函数传参数的(堆栈是一种先进后出的数据结构),最先压入的参数最后出来,在计算机的内存中,数据有2块,一块是堆,一块是栈(函数参数及局部变量在这里),而栈是从内存的高地址向低地址生长的,控制生长的就是堆栈指针了,最先压入的参数是在最上面,就是说在所有参数的最后面,最后压入的参数在最下

零零总总的面试题(3)

1)下列代码编译时会产生错误的是() [html] view plaincopyprint? #include <iostream>      using namespace std;     struct Foo     {         Foo() {  }         Foo(int) {  }         void fun()   {  }     };     int main(void)     {         Foo a(10);    //语句1         

[jjzhu学java]之JDK集合框架源码分析

Java Collection Collection接口 AbstractCollection类 AbstractList类 Vector类 Stack栈 ArrayList AbstractSequentialList LinkedList线性链表 Map接口 AbstractMap HashMap LinkedHashMap treeMap HashTable 总结 Java Collection 图中实线边框表示的是实现类(ArrayList, Hashtable等),虚线边框的是抽象类(