C/C++
陈伟鹏2016
这个作者很懒,什么都没留下…
展开
-
C++ Virtual详解
纯虚函数: C++语言为我们提供了一种语法结构,通过它可以指明,一个虚拟函数只是提供了一个可被子类型改写的接口。但是,它本身并不能通过虚拟机制被调用。这就是纯虚拟函数(pure virtual function)。 纯虚拟函数的声明如下所示: 这里函数声明后面紧跟赋值0。 包含(或继承)一个或多个纯虚拟函数的类被编译器识别为抽象基类。试图创建一个抽象基类的独立转载 2012-09-07 11:51:23 · 601 阅读 · 0 评论 -
利用TouchesBegan解决页面内 触摸 某个视图以外的处理的情况
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ //宣告一个UITouch的指标来存放事件触发时所撷取到的状态 UITouch *touch = [[eventallTouches] anyObject]; CGFloat ly = [touchlocationInView:原创 2015-11-12 15:21:20 · 2802 阅读 · 0 评论 -
比BM算法还快的Sunday算法
/* BM 算法和 KMP 算法一样,也是构造一个辅助的模式函数来加速匹配的速度, 但BM算法优于KMP。 SUNDAY 算法描述:字符串查找算法中,最著名的两个是KMP算法 (Knuth-Morris-Pratt)和BM算法(Boyer-Moore)。两个算法在最坏情 况下均具有线性的查找时间。但是在实用上,KMP算法并不比最简单的c库函数 strstr()快多少,而BM转载 2012-11-16 11:32:31 · 4231 阅读 · 0 评论 -
大整数相乘(未突破计算机位数限制)的int版本
//// main.cpp// BigIntegerMulti//// Created by mac on 12-11-15.// Copyright (c) 2012年 Roc. All rights reserved.//#include using namespace std;int mult(int, int);int digit(int);int ab转载 2012-11-16 11:30:02 · 861 阅读 · 0 评论 -
UVA10137旅行问题(费用平摊,求最小交易总额,精确到分,误差不超过一分)已提交UVA online 通过
//// main.cpp// uva10137//// Created by mac on 12-10-28.// Copyright (c) 2012年 Roc. All rights reserved.// 程序已经在http://uva.onlinejudge.org/ 提交通过// 10807450 10137The T原创 2012-10-28 18:23:28 · 1209 阅读 · 0 评论 -
C++的接口和重载<<运算符的小例子(试试把Circle的类的virtual的shapeName函数注释掉? )
C++代码 参考谭浩强C++ 12章的12.4.3应用实例//// Shape.h// Shape//// Created by mac on 12-10-22.// Copyright (c) 2012年 Roc. All rights reserved.//#ifndef Shape_Shape_h#define Shape_Shape_h#inc原创 2012-10-22 19:40:21 · 1331 阅读 · 0 评论 -
如何防止所写类的对象在栈中生成?
这是一个同学问我的问题.百度的时候知道答案是把析构函数弄成private就好了.编译器就不允许用在栈中定义的对象的方式进行定义了. 学析构函数的时候才彻底弄懂.先来看下析构函数的调用时间: 1.局部对象在函数返回时的调用析构函数; 2.static或定义的全局对象在main()或程序exit()后调用析构函数; 3.使原创 2012-10-21 18:06:33 · 1223 阅读 · 0 评论 -
指向const变量的指针去当参数形参的好处
指向const变量的指针去当参数形参的好处, 在编写一个函数时,当已经确定这个函数不会更新数据值只是读取的话,就把指向const变量的指针设置成参数吧. 就算实参是非const变量也没有关系的哦.都能保证函数的正确性,都能保护形参指针所指向的对象,使其在函数执行中不被修改,这就是你在大量的代码示例中看到const class * 型指针的原因了.int main原创 2012-10-21 19:35:35 · 3454 阅读 · 0 评论 -
Xcode gcc C++(希尔排序实现)
#include using namespace std;void shellSort(int * data,int len){ int d = len; while (d>1) { d=(d+1)/2; for (int i=0;i if(data[i+d]原创 2012-10-19 23:25:33 · 925 阅读 · 0 评论 -
游戏中的跳帧处理
跳帧的定义是:当游戏实际运行帧数(时间)和理论运行帧数(时间)不同的时候,进行 work()函数的增加循环次数的处理, 也就是取消掉了显示帧.c代码:123456789101112131415//画一个帧voiddraw原创 2012-10-16 13:48:51 · 1706 阅读 · 0 评论 -
KMP字符串模式匹配详解
KMP字符串模式匹配详解KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算法。可以证明它的时间复杂度为O(m+n).。一. 简单匹配算法先来看一个简单匹配算法的函数:int Index_BF ( char S [ ], char T [ ], int pos ){/* 若串 S 中从第po转载 2012-09-19 13:38:40 · 417 阅读 · 0 评论 -
寻找相同且长度最长的字符串
//// main.cpp// p227//// Created by mac on 12-9-19.// Copyright (c) 2012年 Roc. All rights reserved.// 此题为寻找相同且长度最长的字符串#include using namespace std;原创 2012-09-19 12:48:14 · 518 阅读 · 0 评论 -
找出一行字符串中的连续出现次数最多的字串
找出一行字符串中的连续出现次数最多的字串C++代码描述:面试题:找出一行字符串中的连续出现次数最多的字串,如"sbsdadada"的结果就是da#include #include #include using namespace std;//先找出字符串的所有子串//void f原创 2012-09-19 12:38:07 · 891 阅读 · 0 评论 -
Xcode(C++) 快速排序实现
//// main.cpp// QuickSort//// Created by mac on 12-10-3.// Copyright (c) 2012年 Roc. All rights reserved.//#include using namespace std;template cl原创 2012-10-07 23:08:58 · 1780 阅读 · 0 评论 -
const限定符的讨论
因为常量在定义后就不能被修改,所以定义时必须初始化:这几种指针却是很容易弄混淆。下面我谈谈我的看法。欢迎指正。 指向常量的指针。 按照字面意思,这个指针应该指向常量。所以呢,他的形式应该如下: const int a=1; const int *ip=&a; 这里我们需要注意const的位置。他在指针指向的变量类型即int之前。这就是转载 2012-09-09 21:59:28 · 506 阅读 · 0 评论 -
继续算法课的学习!归并排序的模版函数的递归实现(merge函数用两个来实现,记得检查左右边界指针的范围哦)
templateclass T> void MergeSort(T a[],int left,int right);//leif为左边界,right为右边界templateclass T>void Merge(T c[],T d[],int l,int m,int r); //将合并好的两部分搬到b数组.再用copy函数搬回去...templateclass T>void Co原创 2012-09-26 18:24:56 · 1200 阅读 · 0 评论 -
关于抢红包线程卡顿的问题解决流程笔记
最近的项目模仿了支付宝做抢红包的功能。我额外的做了一个界面生产双红包的功能。(但是只是在一个刷新周期用产生一个红包的方式调用两次,却发现这样子引起了问题,后来由于上线期限的原因先把双红包特性取消掉(安卓没有做我自己加上去的)并没有深究。现在来找下原因。) 首先,页面卡顿肯定是由于 主线程之间发生了相互卡顿引起的。假设1 :音效的 和 定时器阻塞答案,否。 关闭音效一样出原创 2016-02-06 23:48:22 · 1779 阅读 · 0 评论