
C++
XuTianXiang_JIANGSU
这个作者很懒,什么都没留下…
展开
-
cocos2d-x俄罗斯方块--基于简单工厂的程序重构
1 前言前些天看了一个Cocos2D写的俄罗斯方块代码(下载网址为:http://www.okbase.net/file/item/27944),代码逻辑很清晰。2 讨论俄罗斯方块游戏逻辑很简单(其实细节也很多),主要包含五个部分:下移、左移、右移、形状变换(上移)以及消行。于是,该代码的结构为:这么写存在什么问题?举个例子,如果此时,玩家需要新增或自定义一些方块的样式,并将其原创 2015-11-26 21:32:39 · 3450 阅读 · 0 评论 -
计算机中的有符号数和无符号数
1.概念 在计算机中,可以区分正负类型的数,成为“有符号数”(signed);无正负类型的数(只有整数类型),成为“无符号数”(unsigned)。简明的说,无符号说就是其所有的位数都用来表示数值的大小,有符号数除最高位来表示数值的正负外(0表示正数;1表示负数),其余各位用来表示数值的大小。举个例子说明一下:十机制数 正数255 二进制表达形式:1111 1111十机制数 负数原创 2015-09-05 11:46:36 · 4631 阅读 · 0 评论 -
字符串匹配的KMP算法
字符串匹配的KMP算法举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。转载 2015-08-29 21:51:04 · 478 阅读 · 0 评论 -
程序员笔试面试--基础知识
1. 面向对象的程序设计思想是什么?答:把数据结构和对数据结构进行操作的方法封装形成一个个的对象。 2. 什么是类?答:把一些具有共性的对象归类后形成一个集合,也就是所谓的类。 3. 对象都具有的两方面特征是什么?分别是什么含义?答:对象都具有的特征是:静态特征和动态特征。静态特征是指能描述对象的一些属性(成员变量),动态特征是指对象表现出来的行为转载 2015-08-22 14:51:16 · 950 阅读 · 0 评论 -
单链表之删除某一位置节点
单链表删除某一位置节点的程序十分容易,但也容易出错。网上流传的一些程序并不正确。这一程序的关键点在于:删除某一位置节点,那么需首先确定其前驱结点。前驱节点存在一些特例情况:当前节点为空、当前非空但后继为空(尾节点)。同时,还要进行断言以及待删节点为首节点的相关处理。完整程序如下:#include "stdafx.h"#include #include typedef struc原创 2015-08-13 12:39:15 · 1717 阅读 · 0 评论 -
《编程之美》读书笔记(1)--中国象棋将帅问题
中国象棋将帅问题由于比较简单,该问题的具体描述是:(根据中国象棋的基本原则)在只有将帅棋盘上,找出所有双方可以落子的位置(将帅不能碰面),但只能使用一个变量。直觉上我们想到,只要遍历将帅所有可能的位置,去除将帅冲突的位置即可。可见,剩下的问题就在于如何使用一个变量来做二重循环的遍历。书中解法一给出的方法是将一个Byte变量拆成两个用,前一半代表“帅”可以走的位置,后一个变量代表“将”可以走的位置(转载 2015-07-29 16:58:40 · 531 阅读 · 0 评论 -
程序员笔试面试--数据库知识
1 数据库概念1 数据管理的发展历程:人工管理、文件系统、数据库系统2 SQL语言的功能:1) 数据查询 SELECT; 2) 数据操作 INSERT UPDATA DELETE 3) 数据定义 CREATE(数据表的建立) DROP(数据表的删除) 4) 数据控制 GRANT(为用户授予系统权限) REVOKE (收回系统权限)3 SQL语句使用方法(重点掌握原创 2015-07-29 11:52:24 · 728 阅读 · 0 评论 -
程序员笔试面试算法题系列--数组
题目来源于《程序员面试笔试宝典》、各大博客以及历年真题,供大家查漏补缺。(持续更新中)1 递归实现数组求和void Sum(int a[],int n,double& sum)每次递归,在sum上累加,同时n自减,当n2 利用一个for循环打印二维与三维数组 double total=row*col;for(int k=0;k<total;k++){ printf("%d原创 2015-07-27 20:19:22 · 720 阅读 · 0 评论 -
程序员笔试题--C++程序判读精选集
本文笔试题素材来源于历年真题、各大博客以及相关书籍,方便大家集中式学习(持续更新中)。1 运行下面C++代码,输出是什么?class A{}; class B{public: B() {} ~B() {}}; class C{public: C() {} virtual ~C() {}}; in原创 2015-07-27 11:47:09 · 958 阅读 · 0 评论 -
C++ 智能指针详解
C++ 智能指针详解 一、简介由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见。用智能指针便可以有效缓解这类问题,本文主要讲解参见的智能指针的用法。包括:std::auto_ptr、boost::scoped_p转载 2015-07-24 11:40:56 · 402 阅读 · 0 评论