随笔分类 -  C++ Memory

上一页 1 ··· 3 4 5 6 7 8 下一页
摘要:给出如下代码段:[cpp]view plaincopy#include#include"stdio.h"usingnamespacestd;classA{public:A(intarg):m_a(arg){cout >::operator >::operator<<) (0040108c)11: ... 阅读全文
posted @ 2015-11-30 05:56 findumars 阅读(1221) 评论(0) 推荐(1) 编辑
摘要:最近看了boost::any类源码,其实现主要依赖typeid操作符。很好奇这样实现的时间和空间开销有多大,决定探一下究竟。VS2008附带的type_info类只有头文件,没有源文件,声明如下:[cpp]view plaincopyclasstype_info{public:virtual~typ... 阅读全文
posted @ 2015-11-30 05:46 findumars 阅读(2533) 评论(0) 推荐(0) 编辑
摘要:dynamic_cast是一个操作符,其用法不再赘述。查看汇编码可以发现实际调用的是这个函数__RTDynamicCast,其内部实现如下:rtti.h:[cpp]view plaincopy#pragmaonceextern"C"{#include};typedefconsttype_infoTy... 阅读全文
posted @ 2015-11-30 05:45 findumars 阅读(3670) 评论(0) 推荐(1) 编辑
摘要:下面这段代码会输出什么?[cpp]view plaincopyconstchar*p=string("hellotemprarystring").c_str();coutclassFoo{public:Foo(){_p=newchar[32];}~Foo(){delete_p;}private:ch... 阅读全文
posted @ 2015-11-30 05:43 findumars 阅读(965) 评论(0) 推荐(0) 编辑
摘要:以下是一段简单的C代码,malloc和free到底做了什么?[cpp]view plaincopyintmain(){char*p=(char*)malloc(32);free(p);return0;}malloc和free的debug和release版本实现各不相同,而且相差很大。Debug版本m... 阅读全文
posted @ 2015-11-30 05:31 findumars 阅读(1383) 评论(0) 推荐(0) 编辑
摘要:new和delete最终调用malloc和free,关于malloc和free实现原理参见这篇文章:http://blog.csdn.net/passion_wu128/article/details/38964045newnew操作针对数据类型的处理,分为两种情况:1,简单数据类型(包括基本数据类... 阅读全文
posted @ 2015-11-25 07:16 findumars 阅读(2485) 评论(0) 推荐(0) 编辑
摘要:原地址:http://www.qteverywhere.com/archives/437很多C/C++初学者常犯的一个错误就是,使用malloc、new分配了一块内存却忘记释放,导致内存泄漏。Qt的对象模型提供了一种Qt对象之间的父子关系,当很多个对象都按一定次序建立起来这种父子关系的时候,就组织成... 阅读全文
posted @ 2015-11-21 00:20 findumars 阅读(2950) 评论(0) 推荐(0) 编辑
摘要:最近在做MFC向Qt的移植,在内存管理方面遇到了很头疼的问题,虽然不知道问题到底出在哪,先了解下这两个库的内存管理方式。于是转载两篇关于内存管理的文章。一. Qt内存管理:在Qt的程序中经常会看到只有new而不delete的情况,其实是因为Qt有一套回收内存的机制,主要的规则如下:1.所有继承自QO... 阅读全文
posted @ 2015-11-17 23:34 findumars 阅读(1924) 评论(0) 推荐(0) 编辑
摘要:转自:http://blog.chinaunix.net/uid-24205507-id-3322969.html一:问题出现 最近几天在做一个QT程序,IPX的检测控制程序。需要全天候运行。自己做完了,然后就运行。使用 top|grep TP2 来动态检测程序的CPU,内存占用律。不幸的是,一晚上... 阅读全文
posted @ 2015-11-17 23:18 findumars 阅读(2415) 评论(0) 推荐(0) 编辑
摘要:非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥!堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员... 阅读全文
posted @ 2015-11-14 18:32 findumars 阅读(239) 评论(0) 推荐(0) 编辑
摘要:这三个函数都是内存拷贝,目的都是将N个字节的源内存地址的内容拷贝到目标内存地址中。 void *memmove(void *dest,void*src,int count) void *memcpy(void *dest,void *src,int count) void *memccpy(void 阅读全文
posted @ 2015-10-20 22:59 findumars 阅读(472) 评论(0) 推荐(0) 编辑
摘要:文章来源:http://blog.csdn.net/bigbug_zju/article/details/39525281计算机系统中的堆和栈是跟程序员最密切的两个概念。如果没有栈和堆的概念,下面程序的错误就不知道其所以然。[cpp]view plaincopy#includeintmain(int... 阅读全文
posted @ 2015-10-16 21:36 findumars 阅读(472) 评论(0) 推荐(0) 编辑
摘要:声明:checkleaks.h和checkleaks.cpp这两个文件中的代码是在网上COPY的,但原来那个网站现在却找不到了所以,这篇文章不算完全原创,呵呵。就当作是一个存档吧先上代码:[cpp]view plaincopyprint?//checkleaks.h#ifndefSET_DEBUG_... 阅读全文
posted @ 2015-10-01 20:00 findumars 阅读(332) 评论(0) 推荐(0) 编辑
摘要:// .h 文件 #pragma once class CConsoleDump { public: explicit CConsoleDump(LPCTSTR lpszWindowTitle = NULL); virtual ~CConsoleDump(void); ... 阅读全文
posted @ 2015-09-29 22:07 findumars 阅读(454) 评论(0) 推荐(0) 编辑
摘要:今天在群里看到一道题,有点意思:#include "mainwindow.h"#include #include using namespace std;class A{public : A(){m_f1=1;} int m_f1; void fun(){ coutf... 阅读全文
posted @ 2015-08-12 21:46 findumars 阅读(231) 评论(0) 推荐(0) 编辑
摘要:开眼界了,留个爪,以后再仔细看几遍:http://www.cnblogs.com/hazir/p/new_and_delete.html 阅读全文
posted @ 2015-05-13 21:46 findumars 阅读(231) 评论(0) 推荐(0) 编辑
摘要:作者:langouster先来看下面这张图,相信很多程序员都见过类似。---------------------------test1.exe - 应用程序错误---------------------------"0x00401002" 指令引用的 "0x00000000" 内存。该内存不能为 "... 阅读全文
posted @ 2015-01-15 22:40 findumars 阅读(603) 评论(0) 推荐(0) 编辑
摘要:最快速度找到内存泄漏许式伟2006年11月某日内存管理是C++程序员的痛。我的《内存管理变革》系列就是试图讨论更为有效的内存管理方式,以杜绝(或减少)内存泄漏,减轻C++程序员的负担。由于工作忙的缘故,这个系列目前未完,暂停。这篇短文我想换个方式,讨论一下如何以最快的速度找到内存泄漏。1、确认是否存... 阅读全文
posted @ 2014-12-19 01:55 findumars 阅读(503) 评论(0) 推荐(0) 编辑
摘要:今天在网上看到了一篇写得非常好的文章,是有关c++类继承内存布局的。看了之后获益良多,现在转在我自己的博客里面,作为以后复习之用。——谈VC++对象模型(美)简.格雷程化 译译者前言一个C++程序员,想要进一步提升技术水平的话,应该多了解一些语言的语意细节。对于使用VC++的程序员来说,还应该了解一... 阅读全文
posted @ 2014-11-27 18:17 findumars 阅读(1151) 评论(0) 推荐(0) 编辑
摘要:Visual C++ RunTime的特征——非烫即屯大一刚学C语言,第二次上机课,当我发现我照着书抄写的程序在运行之外的黑框里面跳出一排“烫烫烫烫烫”,当时就震惊了。你们能想象一个来自小城,在大学之前没有怎么接触过电脑更不懂代码的孩子当时内心的恐惧吗?我真的以为是这是电脑过热发出来的警告,于是我弯... 阅读全文
posted @ 2014-10-02 05:00 findumars 阅读(1164) 评论(0) 推荐(0) 编辑

上一页 1 ··· 3 4 5 6 7 8 下一页
点击右上角即可分享
微信分享提示