自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 问答 (1)
  • 收藏
  • 关注

原创 对C++中类模板的认识

格式:templateclass   类名{       成员;};函数在类外实现的格式:template 类型   类名::函数名(参数表){实现}定义对象的格式:模板类名对象1……对象n;类模板在使用的时候也要进行实例化。以上就是我对于类模板 的认识。

2015-04-30 22:04:44 423

原创 对C++中函数模板的认识

template类型    函数名(参数表){        函数体}函数模板在使用的时候要实例化。模板参数表可以有:class   或typename  说明类型信息。模板函数和重载有很大联系。函数模板与普通函数的区别:1     函数模板不生成目标代码。2     如果要将函数模板写在头文件中,那么要写出实现,而普通函数只需写出声明即可。3     函数

2015-04-29 22:03:29 344

原创 对汇编中循环程序结构的认识

一:循环指令LOOP  LABEL    ;执行ECX-1,判断是否是0,若是0,顺序执行,若不是,转到LABEL处执行,实现循环。如果初始的ECX=0,那么LOOP会执行2^32,为了避免这种情况,可以用JECXZ   LABEL   指令,如果ECX=0,跳转到LABEL处,若不是,顺序执行。二:计数控制循环三:条件控制循环以上就是我对于循环结构的认识。

2015-04-28 22:09:25 915

原创 对C++中运行时类型识别的认识

多态类型:有虚函数的类。非多态类型:没有虚函数的类。基类指针可以指向派生类对象,但是如果要调用派生类新增的成员,则就要用类型转换了,但是类型兼容有时必须在运行时才能确定,确定了才能进行类型转换,那这时就要用的运行时的类型识别了。一:dynamic_cast强制类型转换dynamic_cast 用于将基类指针或引用转换成派生类的指针或引用,基类必须是多态类型的,过程是先判断是否兼容,

2015-04-24 22:22:58 564

原创 对汇编中条件转移指令的认识

基于IA-32处理器和32位汇编语言格式:JCC    LABEL 支持段内相对寻址。条件(CC):JC,JNC,JO,JNO,JZ,JNZ,JS,JNS,JP,JNP,JBE,JNBE,JL,JNL,JLE,JNLE。包括一个标志状态做条件的条件转移指令和两数大小关系作为条件的条件转移指令。汇编中有单分支程序结构,包括一个分支。还有双分支程序结构,包括两个分支。

2015-04-24 22:21:47 987

原创 对汇编中无条件转移指令的认识

基于IA-32处理器和32位汇编语言一:转移范围段 内转移:也叫做近转移,只改变EIP,如果是平展存储模型和段式存储模型,偏移地址是32位,叫做32位近转移,如果是实地址存储模型,偏移地址是16位的,叫做16位近转移。程序中使用最多的还是近转移。如果转移的地址用字节表示,那么在-128—127的范围内的转移都叫做短转移。段间转移:也叫做远转移,改变CS和EIP,如果是线性地址空

2015-04-21 22:21:45 3068

原创 对C++中纯虚函数和抽象类的认识

一:虚函数声明格式:virtual  类型  函数名(参数表)=0;纯虚函数没有函数体。纯虚函数是在基类中声明的,没有函数体。如果是析构函数,则要有函数体。二:抽象类带有纯虚函数的类就是抽象类。抽象类不能定义对象,但是可以定义指针和引用,也可以指向派生对象。以上就是我对于纯虚函数和抽象类的认识。

2015-04-20 22:18:52 390

转载 科普]原码,反码,补码由来

转载地址:http://blog.csdn.net/tiwerbao/article/details/43995335

2015-04-18 22:17:18 424

转载 Linux学习路线

转载地址:http://blog.csdn.net/gatieme/article/details/44876933

2015-04-18 22:06:47 366

转载 Shell编程基础

转载地址:http://blog.csdn.net/zhuying_linux/article/details/6630220

2015-04-18 22:06:43 359

转载 抽象数据类型Triplet的表示和实现

转载地址:http://blog.csdn.net/slience_perseverance/article/details/8774111

2015-04-18 22:04:15 601

转载 堆和栈的区别

转载出处:http://blog.csdn.net/hanbo622/article/details/45008893

2015-04-17 22:14:46 368

转载 了解 GNU GPL/GNU LGPL/BSD/MIT/Apache协议

转载出处:http://blog.csdn.net/flowingflying/article/details/5746151

2015-04-17 22:14:30 394

转载 Linux目录结构

转载出处:http://blog.csdn.net/lingdi2000/article/details/45065663

2015-04-17 22:09:28 355

原创 对C++中虚析构函数的认识

虚析构函数也是解决多态的。构造函数没有虚函数,析构函数才有。在基类中声明了虚析构函数,那么派生类中的析构函数都是虚析构函数了。如果基类指针指向了派生类对象,而且想调用派生类的析构函数,这时声明虚析构函数就可以了。以上就是我对于虚析构函数的认识。

2015-04-17 22:05:32 435

原创 对C++中虚成员函数的理解

虚函数就是用来形成多态的。虚函数是在基类中声明的非静态成员函数,格式是在函数声明前加上virtual即可,virtual在声明函数原型时才能使用,函数实现时不能用。使用基类指针调用虚函数是动态绑定,使用对象调用是静态绑定。声明了虚函数,就形成了多态,当使用指向派生类的基类指针时,就可以调用这个派生类的虚函数,如果要调用基类的虚函数,可以用作用域分辨符限定。 以上就是我对于虚成员函数

2015-04-16 22:07:13 494

原创 对C++中运算符重载 的认识

运算符重载的实质是函数重载。运算符重载有两种:重载为类的非静态成员函数,重载为类的非成员函数。重载为类的非静态成员函数,则参数要减少一个,重载为类的非成员函数,则参数要写全。形式:类型   operator运算符(参数表){函数体}一:重载为类的 成员函数 如果是二目运算符,参数要减少一个,因为默认第一个参数是类的目的对象。如果是前置单目运算符,则无参数。如果是后置单目运算

2015-04-15 22:04:09 691

原创 汇编中的位操作指令

基于IA-32处理器和32位汇编语言 一:逻辑运算指令1      逻辑与运算AND DEST,SRC     ;将操作数相与,返回给DEST。CF,OF 是0,影响ZF,SF,PF。2      逻辑或运算 OR   DEST,SRD    ; 将操作数相或,返回给DEST。CF,OF 是0,影响ZF,SF,PF。3      逻辑非运算 NOT   操作数     ;将操作

2015-04-14 22:35:39 5078

原创 汇编中的算术运算类指令

基于IA-32处理器和32位汇编语言 首先说明:算术运算结果包括两部分,即运算结果和状态标志。一:加法类指令1   加法指令:ADD  DEST,SRC     ;DEST=DEST+SRC 将源操作数和目的操作数相加并返回给目的操作数。2     带进位的加法指令(ADC,ADD  WITH CARRY):ADC    DEST,SRC   ;DEST=DEST+SRC+

2015-04-14 22:33:52 1354

原创 对C++中多态的认识

一:什么是多态多态就是指同样的信息会引起不同类型的对象的不同的行为。二:多态的类型: 重载多态,强制多态,包含多态,参数多态。其中前两种是专用多态,后两种是通用多态。三:多态的分类:绑定:确定操作对象的过程。在编译时就确定操作对象的是静态多态,重载多态,强制多态和参数多态属于静 态多态。在程序执行过程确定操作对象的是动态多态,包含多态属于动态多态。以上就是我对于多态

2015-04-13 22:14:47 924

原创 谈数据结构

1   数据结构是 ADT(抽象数据类型 Abstract Data Type) 的物理实现。2    Lobert L.Kruse 在《数据结构与程序设计》一书中,将一个数据结构的设计过程分成抽象层、数据结构层和实现层。其中,抽象层是指抽象数据类型层,它讨论数据的逻辑结构及其运算,数据结构层和实现层讨论一个数据结构的表示和在计算机内的存储细节以及运算的实现。3    一般认为,一个数

2015-04-12 22:09:02 548

原创 对C++中基类与派生类的转换的认识

一:就如同void类型的指针和其他类型指针的转换一样,基类和派生类的指针和引用的转换也是一般与特殊的转换,一般转换为特殊需要显式类型转换,特殊转换为一般会隐含转换。二:基类的对象不能显式类型转换为派生类的对象,这是因为派生类中没有初始化基类对象的构造函数,但是派生类对象可以转换为基类的对象,这是因为基类中的复制构造函数的形参是基类对象的引用,而这个形参又可以由派生类的对象代替,所以可以进行派生

2015-04-10 22:04:13 693

原创 对C++中派生类对象的内存布局的认识

在类型兼容规则中,基类的指针既可以指向基类的对象,也可以指向派生类的对象,那它是如何确保它所指的对象的成员的准确的?这就是内存布局的知识了。其实说到本质上,不论是单继承,多继承,还是虚拟继承,表面上将指针指向了派生类对象,但实际上是指向了基类对象在派生类对象中的数据成员的首地址,因此它们就保证了正确的访问成员。以上就是我对于派生类对象的内存布局的认识。

2015-04-09 23:08:25 557

原创 对C++中类的组合和继承的比较

一:组合是整体与部分的关系,是“有一个”的关系。例如:类B中有类A的对象。二:继承是特殊域一般的关系,是“是一个”的关系。例如:类B的对象是类A的一个对象。这就是类型兼容规则存在的理由。打个比方:白马是马,马吃草,白马当然也吃草。这也就是基类的对象都可以用公有继承类的对象代替。知道了组合和继承的关系,就能容易的选择它们了。注意:这是公有继承的时候,私有继承和保护继承时就不是“是一个”的

2015-04-09 23:06:24 755

原创 汇编中的通用数据传送类指令

基于IA-32处理器和32位汇编语言 1      通用数据传送指令数据传送MOV指令:形式:MOV   目的操作数,源操作数数据交换XCHG指令:形式:XCHG  操作数,操作数其中,XCHG EAX,EAX等同于NOP,也就是空操作指令。2      堆栈操作指令SS段寄存器指向段基地址,ESP寄存器指向栈顶地址。堆栈的数据单位是字或双字。进栈指令P

2015-04-08 22:04:11 1878

原创 对C++中虚基类的认识

一:虚基类无带形参的构造函数 虚基类就是在它的派生类中声明时的继承方式前加上virtual就行了。这样在派生类中的同名成员就只有一个副本,就是唯一标示了,使用时不用作用域分辨符限定了。二:虚基类有带形参的构造函数在这种情况中,在虚基类的所有派生类中(直接和间接),都要在它们的构造函数中初始化虚基类,并且虚基类的构造函数只在最远派生类中进行调用,就保证了虚基类的构造函数只能调用一次,从而

2015-04-03 22:01:48 551

原创 对C++中作用域标示符的认识

在类的继承与派生中,为了保证标示符的唯一,就出现了标示符,形式是“::”。就是双冒号。使用形式:类名::数据成员类名::成员函数(参数)一:多继承并且上级无基类的情况在这种情况下,如果派生类中声明了 基类中同名的成员,就会出现同名隐藏。如果是成员函数,即使形参表不同,也不是重载函数,因为重载函数是在同一个作用域中声明的。但如果在派生类中的同名成员前使用“using   类名::成员

2015-04-02 22:20:43 753

原创 对C++中派生类的构造函数和析构函数的认识

一:构造函数形式:派生类名::派生类名:基类名1(参数1),基类名2(参数2),……基类名n(参数n),数据成员1(参数1),数据成员2(参数2),……数据成员n(参数n){各种操作的说明}执行过程:先执行基类的构造函数,再进行数据成员的赋值,最后执行函数体。其中基类名和数据成员的顺序是由在派生类的定义中声明的顺序决定执行的顺序的,因此它们的顺序是任意的,但为了可读性,还是最好

2015-04-02 22:19:12 911

原创 数据结构中线性表的存储结构

一:顺序存储结构线性表的元素逻辑地址和物理地址是连续的,和高级语言的数组的存储是类似的。二:链式存储结构首先说几个概念:结点:结点就是数据元素的映像,包括数据域和指针域两个部分。线性链表(单链表):当结点只有一个指针域时,就叫做线性链表和单链表。链表的存取都是以头指针开始的,头指针指向第一个结点。链表分两种:有头结点和无头结点的,头结点起引导的作用,它的指针域指向第一个

2015-04-01 22:04:02 668

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除