自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 两个栈实现队列

一,STL模板库中栈的介绍                 先看一段代码:#include #include using namespace std;int main(){stack sc; //建立int型栈for(int i = 0; i < 10l; ++i)sc.push(i); //push入栈操作while( !sc.empty()) //栈为空的时候返

2017-02-28 16:30:49 158

原创 C++中前++和后++的重载

More Effective C++ NO.6 笔记:++i 与 i++,前置与后置“重载运算符"的区别[cpp] view plain copy // 前置++i -----------先++,再调用(一致)  UPInt& UPInt::operator++()  {     *this += 1;     return 

2017-02-28 11:06:17 2577

原创 循环队列和链式结构队列

一、循环队列的基础知识1,循环队列有几个参数需要确定:      有两个参数,front和rear2,循环队列各个参数的含义(1)队列初始化时,front和rear值都为零;(2)当队列不为空时,front指向队列的第一个元素,rear指向队列最后一个元素的下一个位置;(3)当队列为空时,front与rear的值相等,但不一定为零;3.循环队列入队的

2017-02-27 13:22:04 2968

原创 N皇后问题的非递归回溯和递归回溯

一、问题描述           一个n*n的棋盘,要在上面放n个皇后。规则:两个皇后之间如果是同列、同行、同对角线它们会互相攻击。也就是说:棋盘上的任意两个皇后皇后不能为同列、同行、同对角线。二、问题分析          回溯法是一种通用的搜索算法,几乎可以用于求解任何可计算的问题。算法的执行过程就像是在迷宫中搜索一条通往出口的路线,总是沿着某一

2017-02-26 16:14:53 903

转载 C++ 引用计数技术及智能指针的简单实现

阅读目录1.智能指针是什么2.普通指针存在的问题3.什么是引用计数4.智能指针实现4.1.基础对象类4.2.辅助类4.3.为基础对象类实现智能指针类4.4.智能指针类的使用与测试5.智能指针类的改进一6.智能指针改进二 正文一直以来都对智能指针一知半解,看C++Primer中也讲的不够清晰明白(大概是我功力不够吧)。最近花了点时间认真看了智能指针,特

2017-02-26 15:11:02 380

转载 C++深拷贝和浅拷贝

一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plain copyint a = 100;  int b = a;   而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。

2017-02-25 11:40:09 262

原创 析构函数

创建对象时系统会自动调用构造函数进行初始化工作,同样,销毁对象时系统也会自动调用一个函数来进行清理工作,例如释放分配的内存、关闭打开的文件等,这个函数就是析构函数。析构函数(Destructor)也是一种特殊的成员函数,没有返回值,不需要程序员显式调用(程序员也没法显式调用),而是在销毁对象时自动执行。构造函数的名字和类名相同,而析构函数的名字是在类名前面加一个~符号。注意:析构函

2017-02-25 10:31:04 323

原创 约瑟夫环应用问题

/*约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,从1数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。写程序实现上述过程。*/#include#include#includeusing namespace std;struct

2017-02-24 16:44:18 968

转载 C++ 类的静态成员详细讲解

在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节省内存。静态成员的定义或声明要加个关键static。静态成员可以通过双冒号来使用即::。 在C++中类的静态成员变量和静态成员函数是个容易出错的地方,本文先通过几个例子来总结静

2017-02-24 14:11:08 470

转载 C++前向声明

前向声明:可以声明一个类而不定义它。这个声明,有时候被称为前向声明(forward declaration)。在声明之后,定义之前,类Screen是一个不完全类型(incompete type),即已知Screen是一个类型,但不知道包含哪些成员。不完全类型只能以有限方式使用,不能定义该类型的对象,不完全类型只能用于定义指向该类型的指针及引用,或者用于声明(而不是定义)使用该类型作为形参类

2017-02-23 10:28:03 140

转载 数组指针和指针数组

数组指针(也称行指针)   (指向数组的指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。

2017-02-14 19:17:43 149

原创 函数指针与指针函数

函数指针      与数据一样,函数也有地址,函数的地址就是内存中存放函数语言代码的起始地址。函数指针就是指向这个地址。函数指针所指向的类型,就是函数本身。我们知道,指针所指向类型代表了指针所指向的内存区域的大小。所以函数指针所指向的类型,就是函数在内存中所占据内存的大小。知道了函数的起始地址和大小,所以函数指针可以很轻易的代替函数完成函数调用。一、最简单的函数指针  变量

2017-02-14 10:50:15 265

转载 指针深入理解

指针的概念指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子:  例一:  int *ptr; char *ptr; int **ptr; int (*pt

2017-02-14 09:25:08 136

原创 传递动态内存

1、如果函数的参数是一个指针,不要用该指针去申请动态内存#include using namespace std;void GetMemory(char *p,int num){ p=(char *)malloc(sizeof(char) * num);}void Test(void){ char *str=NULL; GetMemory(str,100

2017-02-13 14:20:35 177

原创 指针的指针和指针的引用

1,使用指针的指针和指针的引用的原因当我们把一个指针做为参数传一个方法时,其实是把指针的复本传递给了方法,也可以说传递指针是指针的值传递。如果我们在方法内部修改指针会出现问题,在方法里做修改只是修改的指针的copy而不是指针本身,原来的指针还保留着原来的值。我们用下边的代码说明一下问题:int m_value = 1;void func(int *p){ p = &m_value;}in

2017-02-13 11:38:57 354

转载 sizeof用法介绍

摘要:Sizeof的作用非常简单:求对象或者类型的大小。然而sizeof又非常复杂,它涉及到很多特殊情况,本篇把这些情况分门别类,总结出了sizeof的10个特性:(0)sizeof是运算符,不是函数;(1)sizeof不能求得void类型的长度;(2)sizeof能求得void类型的指针的长度;(3)sizeof能求得静态分配内存的数组的长度!(4

2017-02-11 17:05:31 844

原创 交换两个数据的方法

第一种: //加入类型声明,类似于C++中的泛型,但要小心使用#define SWAP(type,a,b){type tmp; tmp=a; a=b; b=tmp;}第二种 //异或运算法采用下面的方法,对于给定两个整数a,b,下面的异或运算可以实现a,b的交换,而无需借助第3个临时变量: a = a ^ b; b = a ^ b; a = a ^ b;这个交换两个变量而无

2017-02-10 16:40:38 737

空空如也

空空如也

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

TA关注的人

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