现在位置: 首页 > c++
2012-08-18 11:27 工业·编程 ⁄ 共 3104字 暂无评论
    联合(union)在C/C++里面见得并不多,但是在一些对内存要求特别严格的地方,联合又是频繁出现,那么究竟什么是联合、怎么去用、有什么需要注意的地方呢?就这些问题,我试着做一些简单的回答,里面肯定还有不当的地方,欢迎指出! 1、什么是联合?    “联合”是一种特殊的类,也是一种构造类型的数据结构。 在一个“联合”内可以定义多种不同的数据类型, 一个被说明为该“联合”类型的变量中,允许...
阅读全文
2012-08-18 11:07 工业·编程 ⁄ 共 1750字 暂无评论
这是很早之前写的一篇文章,呵呵,铁出来仅供参考. 1、什么是static     static 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。     2、为什么要引入static     函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一...
阅读全文
2012-08-18 10:49 工业·编程 ⁄ 共 4066字 暂无评论
     继承是C++的一个很重要的特性,也是OO的三大特征之一,希望对此做一个简单的论述,能消除你一些困惑。 继承是什么?     继承是将相关的类组织起来,并分亨其间的共通数据和操作行为的一种方法,同时也要注意到继承关系是一种强耦合的关系。 继承的目的是什么?     说到继承的目的,人们总是会想到代码重用,实则不然,代码重用只不过是继承的一个副作用,继承的主要...
阅读全文
2012-08-18 10:42 工业·编程 ⁄ 共 1647字 评论 1 条
    封装和抽象是C++里面的重要概念,本文试着对此作一下简单的讨论。     封装是OO的重要特征,这一点是毫无疑问的,至于算不算的上是OO的三大特征之一(另外两个是继承、多态),目前仍有争论,我也不想在这个问题上作过多的纠缠。     什么是封装呢?封装是人们对现实世界中解决问题时,为了进行简化问题,对研究的对象所采用的一种方法,一种信息屏蔽技术。例如:打电话的时...
阅读全文
2012-08-18 10:32 工业·编程 ⁄ 共 3538字 暂无评论
存储器的结构层次     我想大家都很清楚,在计算机的存储中,有各种各样的存储器,对他们的访问频率和访问方式直接影响到我们的程序效率,一般来说,可以分为5个等级:寄存器、一级缓存、二级缓存、主存、磁盘存储器。下面我们就把他们的特性大体的说一下:     1、寄存器,是所有存储器里面延迟时间最短、带宽最大、开销最少的,毫无疑问,这是目前速度最快的存储器,但是代价比较昂贵,所以寄...
阅读全文
2012-08-18 10:28 工业·编程 ⁄ 共 2961字 暂无评论
new/delete究竟做了些什么?     在理解这个问题之前,我们先看一下下面的这段程序,有这么一个程序段:        class A        {        public:            A() {   cout<<"A is here!"<<endl;   } ...
阅读全文
2012-08-18 10:23 工业·编程 ⁄ 共 2662字 评论 1 条
    内存管理向来是C/C++程序设计的一块雷区,大家都不怎么愿意去碰她,但是有时不得不碰它。虽然利用C++中的smart pointer已经可以完全避免使用指针,但是对于对于指针的进一步了解,有助于我们编写出更有效率的代码,也有助于我们读懂以前编写的程序。 五大内存分区     在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。     栈,就是那...
阅读全文
2012-08-17 11:48 工业·编程 ⁄ 共 1489字 暂无评论
其他预编译指令     除了上面我们说的集中常用的编译指令,还有3种不太常见的编译指令:#line、#error、#pragma,我们接下来就简单的谈一下。     #line的语法如下:       #line number filename     例如:#line 30  a.h     其中,文件名a.h可以省略不写。     这条指令可以改变当前的行号和文...
阅读全文
2012-08-17 11:47 工业·编程 ⁄ 共 3032字 暂无评论
一、预处理的由来:     在C++的历史发展中,有很多的语言特征(特别是语言的晦涩之处)来自于C语言,预处理就是其中的一个。C++从C语言那里把C语言预处理器继承过来(C语言预处理器,被Bjarne博士简称为Cpp,不知道是不是C Program Preprocessor的简称)。 二、常见的预处理功能:     预处理器的主要作用就是把通过预处理的内建功能对一个资源进行等价替换,最常见的预处理有:文件包...
阅读全文
虚函数的开销     人们一提到虚函数,首先想到的是多态,紧接着想到的就是开销(至少我开始的时候就是这样子的),那么虚函数的开销来自哪里?开销究竟有多大?     在理论上来讲,虚函数所带来的动态开销主要依赖于3个方面:编译器、操作系统和机器。但是在现实中,几乎所有的编译器都以同样的方式操作。调用一个虚函数的开销主要来自于2个方面,一个是如果虚函数不是内联的,就要增加一些额...
阅读全文