1.
虚函数虚函数是在某个基类声明为virtual并在一个或多个派生类中重新定义的成员函数。虚函数是C++多态的基础,通过指向类的指针或引用调用,调用的方式是动态联编,到运行时才确定调用的是该虚函数的哪一个实现。非虚函数是静态联编,在编译时刻系统就能根据指针类型确定调用的函数。虚函数一般会有一个默认...
分类:
编程语言 时间:
2014-05-21 20:27:09
阅读次数:
281
从存储空间角度,虚函数对应一个指向vtable虚函数表的指针,这大家都知道,可是这个指向vtable的指针其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过
vtable来调用,可是对象还没有实例化,也就是内存空间还没有,怎么找vtable呢?所以构造函数不能是虚函数。从使用角...
分类:
编程语言 时间:
2014-05-21 19:34:01
阅读次数:
178
Delegate,委托(或代理)是这样一种数据类型:它的变量可以引用到某一个符合要求的方法上,通过委托可以间接地调用该方法。
C#的委托类似于C语言的函数指针,区别在于C#的委托是面向对象的。
我们可以这样认为:在纯粹的面向对象语言C#中,方法也是一种特殊对象,对象的行为就是方法的行为,对象的属.....
分类:
其他好文 时间:
2014-05-21 19:17:52
阅读次数:
303
一、FIFO简介 FIFO是英文First In First Out
的缩写,是一种先进先出的数据缓存器,它与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入....
分类:
其他好文 时间:
2014-05-21 18:57:44
阅读次数:
239
#include
#include
typedef int elemType;
typedef struct Node{//定义单链表节点类型
elemType data;
Node *next;
}Node,*linkList;
//初始化链表,单链表的头指针为空
int initList(linkList &L)
{
L= (Node *)malloc(sizeof(Node));...
分类:
其他好文 时间:
2014-05-21 11:19:08
阅读次数:
228
数组的最大长度:
由于内存模型的工作方式,不应该超过64KB的数据变量。这也需要根据平台的不同,DOS有限制,但是在Windows中没有。
数组的长度(以字节为单位)取决于它包含的元素数目和每个元素的长度。元素的长度取决于数组的数据类型和正在使用的计算机。
指针:
1,指针的定义;
2,指针的用途;
3,如何声明和初始化指针?
4,如何使用指向变量和数组的指针...
分类:
编程语言 时间:
2014-05-21 10:24:34
阅读次数:
295
找出单向链表中的倒数第k个结点。思路:快行指针...
分类:
其他好文 时间:
2014-05-21 09:44:40
阅读次数:
188
#include "STC12C5A.H"
#define TIMER_RELOAD() {TL0=0x00;TH0=0xC4;}//使能T/C
初始10ms
#define MAX_TASKS 8 //任务槽最大个数.
unsigned char idata task_stack[MAX_TASKS][2];//任务堆栈. PC指针为16位,需2个字节。
unsi...
分类:
编程语言 时间:
2014-05-21 08:12:12
阅读次数:
285
原文
运行几个线程和同时运行几个不同的程序类似,它有以下好处:
一个进程内的多个线程和主线程分享相同的数据空间,比分开不同的过程更容易分享信息或者彼此通信。
线程有时叫做轻量化过程,而且他们不要求更多的内存开支;它们比过程便宜。
一个线程的顺序是:启动,执行和停止。有一个指令指针跟踪线程正在运行的上下文在哪里。
它可以被抢占(中断)
它能暂时被挂起(也叫做休眠)...
分类:
编程语言 时间:
2014-05-21 08:05:20
阅读次数:
385
#include
#include //要使用malloc(),必须包含此库文件
void main()
{
char count, *ptr1, *p;
ptr1 = malloc(27*sizeof(char));
ptr1[26] = 0;//字符串要加0
if (ptr1 == NULL)
{
puts("没有足够的空间卡可以分配!\n");
}
p = ptr1...
分类:
编程语言 时间:
2014-05-21 07:11:10
阅读次数:
275