自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

飞来飞去的博客

喜欢冒险,喜欢code

  • 博客(27)
  • 资源 (3)
  • 收藏
  • 关注

原创 数据结构和算法C++语言实现:双向链表

1、双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。2、如果对链表还不熟悉,可以看链表的基础知识 和链表的实现  这两篇文章中对链表做了详细的介绍,并且进行了相关的实现。有了上述的基础知识,我们来实现双向链表就很简单了。3、使用面向对象的方式来实现双

2016-07-25 11:23:58 760

原创 数据结构和算法C++语言实现:使用链表实现稀疏多项式

本例中继承了 C++实现链表中的CList类,并且通过类模板来实现,在实现的过程中使用了操作符重载,友元函数等操作

2016-07-22 09:58:30 1932

原创 C++内存布局:深入立即C++内存布局下

我们继续完成内存布局的讲解。这次需要讲解的内容如下:基类不含虚函数,使用虚继承,派生类中含有虚函数基类含有虚函数,使用虚继承,派生类中不含虚函数基类含有虚函数,使用虚继承,派生类中含有虚函数基类含有虚函数,使用虚继承,向下派生多次基类含有虚函数,多继承1.1 基类不含虚函数,使用虚继承,派生类中含有虚函数先不讲具体的原理,也不描述具体的现象,直接看程

2016-07-13 20:26:04 1513

原创 C++ 内存布局:深入理解C++内存布局

1、虚函数简介      虚函数的实现要求对象携带额外的信息,这些信息用于在运行时确定该对象应该调用哪一个虚函数。典型情况下,这一信息具有一种被称为vptr(virtual table pointer,虚函数表指针)的指针的形式。vptr 指向一个被称为 vtbl(virtual table,虚函数表)的函数指针数组,每一个包含虚函数的类都关联到 vtbl。当一个对象调用了虚函数,实际的被

2016-06-24 10:36:28 4003 1

原创 C++ 内存布局:内存布局基础

C++中的内存分布,基础篇

2016-06-24 00:13:43 1153

原创 数据结构和算法C++语言实现:链表的实现

链表使用面向对象的方法实现,C++

2016-06-15 17:37:24 1777

原创 数据结构和算法C语言实现:使用链表实现稀疏多项式

C语言中使用链表实现稀疏多项式

2016-06-15 09:54:59 2495

原创 面向对象,掌握windows应用程序的创建过程:为应用程序添加消息及响应

1、在前一篇文章中:一个窗口的诞生中详细介绍了面向对象的方式创建Windows应用程序窗口的过程。2、一个Windows应用程序应该有交互的功能,也就是说,我们得为其添加消息响应,添加对话框,添加控件等详细的功能,这样才能初具规模的形成一个Windows应用程序。3、windows应用程序是由消息驱动(Message)的,没有了Message,windows便没有了生机和活力。现在为之前的

2015-12-01 11:22:26 636

原创 面向对象,掌握Windows应用程序的创建过程:一个窗口的诞生

一、Windows应用程序简介         现在的Windows支持32位和64位的优先权式多任务(preemptive multitasking)及多线程的图形操作系统。Windows拥有图形使用者接口(GUI ),这种使用者界面也称作「可视化接口」或「图形窗口环境」。       所有GUI都在点矩阵对应的视讯显示器上处理图形。图形提供了使用屏幕的最佳方式、传递信息的可视化丰富

2015-11-30 08:49:44 1573

原创 数据结构和算法C语言实现:链表的实现(基于动态内存分配)

1、链表是由称为节点的元素组成的序列。      每个节点包含两部分:1)、data(数据)部分,存放列表的一个元素。 2)next 部分,存放一个指针,指出包含下一列表元素的节点的位置。如果没有下一个元素,则使用一个特殊的空值。2、链表的基本操作包括构造(创建)、插入节点,删除节点,修改节点。而实现这些的基本操作便是对链表的遍历。3、为了实现链表的遍历,我们需要一个辅助指针。设为pt

2015-11-12 08:44:28 904

原创 C++面向对象操作符重载:调用操作符和函数对象

1、定义了调用操作符的类,其对象常称为函数对象,即它们是行为类似函数的对象。     可以为类类型的对象重载函数调用操作符。一般为表示操作的类重载调用操作符。函数调用操作符必须声明为成员函数。一个类可以定义函数调用操作符的多个版本,由形参的数目或类型加以区别。例如,可以定义名为 absInt 的结构,该结构封装将 int 类型的值转换为绝对值的操作:class absInt{p

2015-11-11 08:58:14 1961

原创 C++面向对象操作符重载:算术操作符和关系操作符

1、算术操作符包括 :+、-、*、/、%(求余),-=,+=...       逻辑运算符主要包括:、==,&&,||2、算术运算符和关系操作符要定义为非成员函数,这是因为上述的运算符均为双目运算符,且运算结束后返回的不是对象本身。3、算术运算符一般返回一个值的拷贝,如果一定要返回某个值的引用,请一定返回const引用,因为引用可以当做左值,返回const引用,可以避免误操作。co

2015-11-10 08:21:42 534

原创 C++面向对象操作符重载:输入输出操作符

1、在定义一个类的时候,合理的将操作符进行重载,可以像使用内置类型一样使用我们定义的类。2、操作符重载有一些原则,我们必须谨记才能避免出错。在之前的章节中有涉及到操作符重载的案例,但是没有系统的讲,想必大家有不少不明白的地方。3、操作符重载的原则:      3.1、重载操作符的范围:                              这地方的new和delete指

2015-11-09 08:38:59 850

原创 C/C++语法高阶:const的应用,const在类中的体现

1、const在C++之中有着奇怪的现象。C++中类之外定义的const对象位于全局区,const对象一经定义就必须初始化,初始化的const对象位于全局区的初始化区域,在类之外定义的const对象不能修改。2、C++类之中定义的const对象分为静态的和非静态的,static const 对象位于全局区,在初始化之后是不能修改的。非static的const对象位于栈区,可以通过指向该对象

2015-11-08 08:52:12 784

原创 C/C++ 语法高阶:const应用专题

1、在C语言中const对象并不是真正的常量,在使用的过程中可以修改该对象的值。      定义一个const对象,然后将一个指针指向该对象。并且我们可以通过指针修改该对象的值。#include #include int main(){ const int num =12; int *p = # printf("%s%d\n","const int nu

2015-11-07 08:44:00 645

原创 C/C++高阶语法:函数指针引用,引用与指针

1、函数指针引用的定义如下:     type  (*  &pFunc)(type,type) ( func);2、看一段实例int (*add)(int ,int);int (*&pFunc)(int ,int)(add);      这个实例将pFunc引用指向add函数,我们知道引用一经绑定,便不能将其绑定到其他的对象,但是我们可以通过引用来修改其所绑定的对象。3、

2015-11-06 08:51:46 893

原创 C/C++高阶语法:引用

1、C++中的引用:引用是C++中引入的新特性,开发的过程中起着重要的作用。2、引用的声明以及定义:       引用就是对象的另一个名字。在实际程序中,引用主要用作函数的形参。引用是一种复合类型,通过在变量名前添加&符号来定义。       引用必须用与该引用同类型的对象初始化。int var = 12;int &num = var;//没问题,将int型的引用指向int

2015-11-05 08:36:29 918

原创 C/C++高阶语法:函数指针及其应用,回调函数

1、首先了解一下回调函数的概念:      回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。2、为什么要使用回调函数呢?       因为使用回调函数,在编写代码时我们可以把调用者(主调函数)与被调用者(被调函数)分开。调用者不关心谁是被调用者,所有它需知道的,只是存在一

2015-11-04 08:43:23 771

原创 C/C++高阶语法:函数指针及其应用,动态链接库,正向调用

1、在介绍正向调用之前,先讲一讲动态链接库的知识:      1)、 动态链接库 DLL,即Dynamic Link Library,在理解动态链接库的时候,我们可以把它理解为一个包含变量,函数或是类的集合,我们可以通过一定的方式来调用包含在这个集合中的那些变量,函数或是类。      2)、动态链接库的创建与编译器或是程序语言没有关系,我们只需要遵守特定的约定便可以创建动态链接库。 

2015-11-03 08:54:25 1783

原创 C/C++高阶语法:函数指针及其应用

1、在讲函数指针之前,我们先明白C/C++中常见的指针函数。   int * GetData(int num); 形如上面的形式的为指针函数, 指针函数实际上就是函数,只是返回类型为指针。在结构体的深度拷贝中 createaT()函数便是一个指针函数,用来得到结构体对象。这种用法很普遍(基本上是这么用的),我们在打下基础的时候要把这一点给掌握好了。2、函数指针的形式及声明定

2015-11-02 21:02:30 1743

原创 结构体及其应用:结构体的深度拷贝,结构体内含指针

1、在前一篇文章中提到,尽量不要使用赋值操作符来操作结构体,这其中所涉及的便是结构体的深度拷贝。       对于下面这个例子:  struct teacher{ char szName[24]; int age; double income;} 进行如下的操作:struct t1,t2;strcpy(t1.szName,"Lucy")

2015-11-01 08:36:15 2186

原创 结构体及其应用:认识结构体

1、结构体作为一种数据结构,可以灵活的用来表示多种数据的集合,不仅仅在C语言中应用广泛,在C++中也 是颇为常见。2、结构体在C语言中和C++中有着一定的区别,主要是结构体的定义形式上会有一定的差别,这一点会在后面 的例子中提及3、在C++中结构体也是作为面向对象来使用的,struct 和class 的区别在于struct 默认其数据成员和成员函数 为公有,而class默认其数据成员为私有的。所以能够使用class的 地方都可以使用stru

2015-10-31 08:45:10 937

原创 C++指针和数组:字符和字符串、字符数组

1、字符串是一种重要的数据类型,但是c语言并没有显示的字符串数据类型,因为字符串以字符串常量的形式出现或者存储于字符数组中。2、在C++标准模板库(STL)中提供了string类,实现了对字符串的封装。但是其实现原理还是居于字符和指针,要了解这个原理,我们先看一下有关字符数组、字符和字符串之间的一些关联。3、字符数组:                              char

2015-10-30 08:34:26 1371

原创 C++指针和数组:数组指针应用,函数指针

1、数组指针的形式      int (*pArray)[10];      数组指针区别于指针数组,有关指针数组的知识以及应用请看: C++指针和数组:指针数组      int (*pArray)[10];//中存放的元素为int型,pArray为指向数组的指针2、数组指针的具体应用      数组指针的应用主要有两方面:      1)、指向二维数组,在函数中作为形参

2015-10-29 11:34:06 698

原创 C++指针和数组:指针数组

在存入元素之前,首先要分配内存空间,否则存入数据将失败指针数组作为实参时,其形参类型有两种,一种便是二级指针的形式,还有一种是 指针数组 即 char *pArray[6];++pchar是让pChar 指向pChar中存放的下一个元素,这其中涉及到指针的步长。指针的步长即为指针所指向的元素的类型。

2015-10-28 08:55:41 703

原创 C++指针和数组:二级指针和二维数组

1)、数组名代表的是数组首元素的地址,这是一个常量。即数组已经定义,它的含义便已经明确了,数组就是一个固定内存块大小的别名2)、数组首元素的地址和数组的地址是不同的东西3)、数组也是一种数组类型,其类型由构成数组的元素的类型和数组的大小一起决定 既然明白了数组类型了,那我们就能够明白为什么sizeof(array_int1) = 40 ,而 sizeof(&array_int1) = 4。这是因为,变量array_int1是一种int [10]的数据类型,那么&array_int1便是对这个变量求

2015-10-27 10:16:55 1862

原创 C++指针和数组:认识指针和数组

注:本文章是基于C++98的标准来写的,有关C++11的标准的知识后续会陆续更新1、C/C++在数组和指针方面的内容相差无几,故有关C方面的指针也可以加以参照2、数组的定义和初始化          定义一个数组:Int a[10];                                      char ch[11];          初始化一个数组:a[10]

2015-10-26 10:48:31 851

函数指针,动态链接库

资源涉及到字符串的查询,访问,二维数组,二级指针等高级的应用,为实际工程中的应用。 创建了一个动态链接库,然后通过函数指针来访问动态链接库,实现字符串的查找功能

2015-11-03

数组指针,函数指针应用

1、主要是数组指针和函数指针的应用的例子 2、提供两份源代码,第一个是使用流程控制 3、第二个是将数组指针和函数指针结合起来,使用的时候可以举一反三

2015-10-29

考研真题 2010

考研真题,望好好加以利用,效率更高,再加分析,一举两得

2012-12-30

空空如也

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

TA关注的人

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