Chinaunix首页 | 论坛 | 博客
  • 博客访问: 38497
  • 博文数量: 9
  • 博客积分: 126
  • 博客等级: 入伍新兵
  • 技术积分: 81
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-09 22:29
文章分类

全部博文(9)

文章存档

2013年(3)

2012年(6)

我的朋友

发布时间:2013-01-10 21:05:59

在C和C++语言开发中,指针、内存一直是学习的重点。因为C语言作为一种偏底层的中低级语言,提供了大量的内存直接操作的方法,这一方面使程序的灵活度最大化,同时也为bug埋下很多隐患。  因此,无论如何,我们都要对内存有一个清晰的理解。  一、对内的分配  32位操作系统支持4GB内存的连续访问,但通常把内存分为两个2GB的空间,每个进程在运行时最大可以使用2GB的私有内存(0x00000000—0x7FFFFFFF)。即理论上支持如下的大数组:char szBuffer[2*1024*1024*1024];  当然,由于在实际运行时,程序还有代码段、临时变量段、动态内存申请等,实际上是不可能用到......【阅读全文】

阅读(1759) | 评论(1) | 转发(4)

发布时间:2012-12-11 20:24:19

1:malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。2:对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free。3:因此C++语言需要一个能完成动态内存分配和初始化工作的运算符new,以及一个能完成清理与释放内存工作的运算符delete。注意new/delete不是库函数。总结:1:当我们使......【阅读全文】

阅读(925) | 评论(0) | 转发(0)

发布时间:2012-12-09 22:55:10

   深拷贝和浅拷贝一定是很多C++菜鸟比较难以理解的一个知识点,很多老鸟估计也不是很明白其内部的原理。其实这涉及到C 内部模型的两个概念,即Default Memberwise Initialization 和bitwise copy semantics。这两个名字是不是感觉很怪,下面我们就来慢慢分析。   Default Memberwise Initialization: 这是C 模型的内部一种实现方案,其原理就是对于同一类的两个对象直接的赋值进行的暗箱操作。说白了,就是将一个对象的内存空间中的数据,原封不动的拷贝出另一份来填满另一个对象的内存......【阅读全文】

阅读(665) | 评论(0) | 转发(0)

发布时间:2012-12-09 22:39:08

  1.定义 计算机在处理有符号数时,通过其最高位来标识当前数的正负。但是在逻辑表达式及其运算中,真与假是通过一个16位整数来描述的,其中有15位的二进制数位的空间因没有用途而浪费。如何来充分利用计算机存储空间是软件工程中一个很重要的课题。              位段以位为单位定义结构体(或共用体)中成员所占存储空间的长度。  含有位段的结构体类型称为位段结构。 位段结构也是一种结构体类型,只不过其中含有以位为单位......【阅读全文】

阅读(451) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册