文章分类 -  学习资料 - Cpp/Python

摘要:c++类继承内存布局的分类:vcc++2011-11-07 08:141544人阅读评论(2)收藏举报c++structdelete编译器cmanager今天在网上看到了一篇写得非常好的文章,是有关c++类继承内存布局的。看了之后获益良多,现在转在我自己的博客里面,作为以后复习之用。——谈VC++对象模型(美)简.格雷程化 译译者前言一个C++程序员,想要进一步提升技术水平的话,应该多了解一些语言的语意细节。对于使用VC++的程序员来说,还应该了解一些VC++对于C++的诠释。 Inside the C++ Object Model虽然是一本好书,然而,书的篇幅多一些,又和具体的VC++关系小 阅读全文
posted @ 2013-09-06 13:42 tangr206 阅读(521) 评论(0) 推荐(0)
摘要:来源:叶军博客一个网站就像一个人,存在一个从小到大的过程。养一个网站和养一个人一样,不同时期需要不同的方法,不同的方法下有共同的原则。本文结合我自已14年网站人的经历记录一些架构演变中的体会。1:积累是必不可少的架构师不是一天练成的。1999年,我作了一个个人主页,在学校内的虚拟空间,参加了一次主页大赛,几个DREAMWEAVER的页面,几个TABLE作布局,一个DB连接,几行PHP的代码嵌入在HTML中,再用FTP传到服务器上就可以给别人展示一个网站。2000年,个人主页已经不能满足好奇,在当时的网管中心管起几台机器,作起网线水晶头,用ALL PEOPLE SEEMS TO NEED DAT 阅读全文
posted @ 2013-06-18 17:28 tangr206 阅读(238) 评论(0) 推荐(0)
摘要:分类:C++学习2012-02-23 09:48750人阅读评论(1)收藏举报存储memcached算法allocation数据结构工作内存碎片的产生:内存分配有静态分配和动态分配两种静态分配在程序编译链接时分配的大小和使用寿命就已经确定,而应用上要求操作系统可以提供给进程运行时申请和释放任意大小内存的功能,这就是内存的动态分配。 因此动态分配将不可避免会产生内存碎片的问题,那么什么是内存碎片?内存碎片即“碎片的内存”描述一个系统中所有不可用的空闲内存,这些碎片之所以不能被使用,是因为负责动态分配内存的分配算法使得这些空闲的内存无法使用,这一问题的发生,原因在于这些空闲内存以小且不连续方式出现 阅读全文
posted @ 2013-06-09 18:38 tangr206 阅读(324) 评论(0) 推荐(0)
摘要:hash_map分析2人收藏此文章,我要收藏发表于1年前(2011-09-20 17:40) , 已有1267次阅读 ,共0个评论最近一直在使用hash_map,找时间来梳理一下(转)详细解说hash_map几句话道出map和hash_map的区别1. STL map is an associative array where keys are stored in sorted order using balanced trees. While hash_map is a hashed associated container, where keys are not stored in an 阅读全文
posted @ 2013-06-03 13:20 tangr206 阅读(174) 评论(0) 推荐(0)
摘要:本文介绍malloc和free函数的内容。 在C中,对内存的管理是相当重要。下面开始介绍这两个函数: 一、malloc()和free()的基本概念以及基本用法:1、函数原型及说明:void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。关于分配失败的原因,应该有多种,比如说空间不足就是一种。void free(void *FirstByte):该函数是将之前用malloc分配的空间还给程序或者是操作系统,也就是释放了这块内存,让它重新得到自由。2、函数的用法:其实这两个函数用起来... 阅读全文
posted @ 2013-05-27 20:59 tangr206 阅读(210) 评论(0) 推荐(0)
摘要:Linux中文手册Linux官方手册中文翻译定期与Linux官方手册同步翻译欢迎所有同仁参与翻译:易美翻译开头字母A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z标题摘要a64la64l, l64a - 在 long (长整形)与 base-64 之间进行相互转换abort强行终止一个进程,以一个非常粗野的方式来完成这个工作。abortabort - 异常终止进程absabs, labs, llabs, imaxabs - 计算一个整数的绝对值acceptaccept - 通过套接口接受一个连接accessaccess - 对一个文件检测当 阅读全文
posted @ 2013-05-25 18:06 tangr206 阅读(719) 评论(0) 推荐(0)
摘要:c语言中*P=NULL的作用书上说NULL对暂时不用的指针变量赋初值如 int *p=NULL但书上又说企图用*p=5给p所指向的存储单元赋值,则系统将给用户一个错误信息为什么呢?赋初值之后想用到这个指针变量了 想赋5 哪里不可行了?我这里没弄懂答:p是个指针,指针是指向一个地址的,地址里面存放的才是值,int *p=NULL,意思是虽然给*p本身分配了一个空间但是p本身没有指向一个确定的地址。可能是栈上的一个地址,也可能是静态数据区,还可能是系统核心数据区 。更不要说地址里面的值了,如果你程序里想让P指向一个值,先得让他指向一个地址,比如说 int *p=&a 意思是给P分配了一个整 阅读全文
posted @ 2013-05-22 16:31 tangr206 阅读(247) 评论(0) 推荐(0)
摘要:一。new/delete 与 malloc/free 的区别1。new自动计算需要分配的空间,而malloc需要手工计算字节数2。new是类型安全的,而malloc不是,比如:int*p=newfloat[2];//编译时指出错误int*p=malloc(2*sizeof(float));//编译时无法指出错误------以上两点只是改进,但以下两点malloc就无能为力了newoperator由两步构成,分别是operatornew和construct3。operatornew对应于malloc,但operatornew可以重载,可以自定义内存分配策略,甚至不做内存分配,甚至分配到非内存设备 阅读全文
posted @ 2013-05-22 14:30 tangr206 阅读(243) 评论(0) 推荐(0)