
c c++等技术知识
文章平均质量分 57
Simon Tsui
本人喜欢交朋友,不喜欢寂寞。
本人喜欢科学书籍,酷爱技术。
本人喜欢向往,憧憬美好的明天。
本人喜欢真情,因为她才是内心最深处的呐喊!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
宏的用法
#define用法 1.简单的define定义 #define MAXTIME 1000 一个简单的MAXTIME就定义好了,它代表1000,如果在程序里面写 if(i 编译器在处理这个代码之前会对MAXTIME进行处理替换为1000。 这样的定义看起来类似于普通的常量定义CONST,但也有着不同,因为define的定义更像原创 2008-05-06 14:13:00 · 1171 阅读 · 2 评论 -
虚函数
为什么要了解虚函数表了解虚函数表对理解C++实现多态的机制会有更深的了解,对对象的内存布局会有更好的认识。 验证虚函数表的存在(C++中的struct和class实际上是一样的)C++中当一个类中存在virtual函数(虚函数)或者它的父类中存在虚函数,那么编译器就会为这个类生成虚函数表(virtual table),下面我用代码来验证这个事情。首先写一个classcl转载 2008-12-19 17:02:00 · 610 阅读 · 0 评论 -
虚继承问题
C++允许为一个派生类指定多个基类,这样的继承结构被称做多重继承。 举个例子,交通工具类可以派生出汽车和船连个子类,但拥有汽车和船共同特性水陆两用汽车就必须继承来自汽车类与船类的共同属性。 由此我们不难想出如下的图例与代码: 当一个派生类要使用多重继承的时候,必须在派生类名和冒号之后列出所有基类的类名,并用逗好分隔。//程序作者:管宁 //站点:www.cndev-lab.com转载 2008-12-19 17:46:00 · 599 阅读 · 0 评论 -
虚函数 简单介绍
当类中有虚函数的时候,编译器会为类插入一个我们看不见的数据并建立一个表。这个表就是虚函数表(vtbl),那个我们看不见的数据就是指向虚函数表的指针——虚表指针(vptr)。虚函数表就是为了保存类中的虚函数的地址。我们可以把虚函数表理解成一个数组,数组中的每个元素存放的就是类中虚函数的地址。当调用虚函数的时候,程序不是像普通函数那样直接跳到函数的代码处,而是先取出vptr即得到虚函数表的地址,根据这原创 2008-12-19 17:54:00 · 544 阅读 · 0 评论 -
c++知识
前言 了解你所使用的编程语言究竟是如何实现的,对于C++程序员可能特别有意义。首先,它可以去除我们对于所使用语言的神秘感,使我们不至于对于编译器干的活感到完全不可思议;尤其重要的是,它使我们在Debug和使用语言高级特性的时候,有更多的把握。当需要提高代码效率的时候,这些知识也能够很好地帮助我们。 本文着重回答这样一些问题: * 类如何布局? * 成员变量如何访问? *转载 2008-12-12 12:09:00 · 624 阅读 · 0 评论 -
类型转换
1、static_caststatic_cast在功能上基本上与C风格的类型转换一样强大,含义也一样。它也有功能上限制。例如,你不能用static_cast象用C风格的类型转换一样把struct转换成int类型或者把double类型转换成指针类型,另外,static_cast不能从表达式中去除const属性,因为另一个新的类型转换操作符const_cast有这样的功能。 ch =原创 2008-12-12 12:00:00 · 534 阅读 · 0 评论 -
组合与聚合的关系
用C++程序的话,聚合就像是类中的指针成员,而组合就是类中的成员.类间关系在类图中,除了需要描述单独的类的名称、属性和操作外,我们还需要描述类之间的联系,因为没有类是单独存在的,它们通常需要和别的类协作,创造比单独工作更大的语义。在UML类图中,关系用类框之间的连线来表示,连线上和连线端头处的不同修饰符表示不同的关系。类之间的关系有继承(泛化)、关联、聚合和组合。(1)继承:指的是一个类(原创 2008-12-11 13:58:00 · 4085 阅读 · 0 评论 -
声明与定义的区别
声明(declaration)引入一个名字,而定义(definition)给出程序中各个实体(entity,比如函数,类型等)的完整唯一的描述。一个声明就是一个定义,除非: 1. 它声明了一个函数但是没有给出函数体。(问题e) 2. 它使用了extern关键字。 (问题d) 3. 它声明了一个类的名字。 4. 它是typedef。 5. 它在类定义中声明了static m原创 2008-12-11 13:55:00 · 551 阅读 · 0 评论 -
static 变量的声明
static 变量的声明 static 声明的变量在C语言中有两方面的特征: 1)、变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。 2)、变量用static告知编译器,自己仅仅在变量的作用范围内可见。这一点是它与全局变量的区别。原创 2008-12-11 13:19:00 · 1057 阅读 · 0 评论 -
重入问题 c++ c
一、可重入函数1)什么是可重入性?可重入(reentrant)函数可以由多于一个任务并发使用,而不必担心数据错误。相反,不可重入(non-reentrant)函数不能由超过一个任务所共享,除非能确保函数的互斥(或者使用信号量,或者在代码的关键部分禁用中断)。可重入函数可以在任意时刻被中断,稍后再继续运行,不会丢失数据。可重入函数要么使用本地变量,要么在使用全局变量时保护自己的数据。2)可重转载 2008-12-29 14:50:00 · 3504 阅读 · 0 评论 -
volatile用法
C中的volatile用法 volatile影响编译器编译的结果,指出,volatile变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。 例如: volatile int i=10;原创 2008-12-29 14:27:00 · 744 阅读 · 0 评论 -
开发流程简述
Rational 平台从根本上改善了各组织机构的软件构建方法。它鼓励团队:采用迭代式开发模式,有效控制项目风险、增加项目预见性,尽早发现软件产品中得缺陷;专注于构 架,采用可视化建模技术来构建以构件为基础的系统框架,有效地管理系统的复杂度,增强系统的灵活性和可扩展性;持续的质量验证,在整个产品生命周期中持续 地验证软件质量,确保产品满足客户的需求,并且构造一个高性能、高可靠性的软件系统;管理软件资原创 2008-05-13 11:03:00 · 552 阅读 · 0 评论 -
C++ interview C/C++的堆栈,内存分配
C/C++的堆栈,内存分配2008年12月02日 星期二 11:51一、一个经过编译的C/C++的程序占用的内存分成以下几个部分:1、栈区(stack):由编译器自动分配和释放 ,存放函数的参数值、局部变量的值等,甚至函数的调用过程都是用栈来完成。其操作方式类似于数据结构中的栈。2、堆区(heap) :一般由程序员手动申请以及释放, 若程序员不释放,程序结束时可能由OS回转载 2009-11-24 16:22:00 · 954 阅读 · 0 评论