
程序设计
文章平均质量分 61
程序设计
「已注销」
人生如游戏,不如做游戏。
展开
-
visual studio 2015 community 新建项目无win32控制台应用程序等模板的问题
由于最近在开发unity3d项目,所以默认我是选择的C#作为默认开发语言的。今天在我想新建一个C++ win32控制台程序的时候,却怎么也找不到,仔细查看后发现:社区版只为你选择的默认语言安装了模板,其他语言的需要自行下载。在新建项目窗口--其他语言--VC++--双击右边需要的模板下载安装即可。原创 2015-09-21 23:32:19 · 26476 阅读 · 3 评论 -
最常用正则表达式
一、正则表达式介绍、参考文档正则表达式参考文档:http://www.regexlab.com/zh/regref.htm 二、常用正则表达式大全正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。 匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这原创 2014-07-17 23:42:14 · 855 阅读 · 0 评论 -
Python正则表达式指南
本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例。本文的内容不包括如何编写高效的正则表达式、如何优化正则表达式,这些主题请查看其他教程。注意:本文基于Python2.4完成;如果看到不明白的词汇请记得百度谷歌或维基,whatever。尊重作者的劳动,转载请注明作者及原文地址 >.html1. 正则表达式基础1.1转载 2014-07-17 23:31:10 · 834 阅读 · 0 评论 -
游戏编程模式 Game Programming Patterns
分享链接:游戏编程模式 Game Programming Patterns原创 2019-04-20 16:30:11 · 529 阅读 · 0 评论 -
判断点是否在多边形内(2D空间)
1. 叉乘判别法(只适用于凸多边形)想象一个凸多边形,其每一个边都将整个2D屏幕划分成为左右两边,连接每一边的第一个端点和要测试的点得到一个矢量v,将两个2维矢量扩展成3维的,然后将该边与v叉乘,判断结果3维矢量中Z分量的符号是否发生变化,进而推导出点是否处于凸多边形内外。这里要注意的是,多边形顶点究竟是左手序还是右手序,这对具体判断方式有影响。2. 面积判别法(只适用于凸多边形)原创 2012-10-24 19:42:53 · 3259 阅读 · 1 评论 -
设计模式C++实现(6)——建造者模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍建造者模式的实现。 建造转载 2012-07-10 15:08:25 · 702 阅读 · 0 评论 -
设计模式C++实现(5)——原型模式、模板方法模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍原型模式和模板方法模式的实现。首先介绍原型模转载 2012-07-10 15:06:41 · 901 阅读 · 0 评论 -
设计模式C++实现(4)——单例模式
出处: http://blog.youkuaiyun.com/wuzhekai1985软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模转载 2012-07-09 22:10:39 · 722 阅读 · 0 评论 -
设计模式C++实现(2)——策略模式
转载出处 http://blog.youkuaiyun.com/wuzhekai1985软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式转载 2012-07-09 18:27:19 · 553 阅读 · 0 评论 -
设计模式C++实现(1)——工厂模式
转载出处 http://blog.youkuaiyun.com/wuzhekai1985软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式转载 2012-07-09 18:07:13 · 978 阅读 · 0 评论 -
简单 随机排序 实现
简单 随机排序 实现void RandomSort(int *arr,int count){ srand(time(NULL)); int temp=0; for (int i=0; i<count; ++i) { int j = rand()%count; //swap te原创 2012-07-09 14:18:03 · 853 阅读 · 0 评论 -
【数据结构】简单查找和排序
学习数据结构基础,如有错误,请指正。/***********************************************【查找和排序】 几种常见的查找和排序算法***********************************************/#include // 顺序查找int squ_search(int array[],int c原创 2011-12-25 23:38:38 · 790 阅读 · 0 评论 -
【数据结构】图的实现
学习数据结构基础,如有错误,请指正。(图的广度优先遍历算法部分,存在错误,请高手帮小弟看下)/************************************************************************ 数据结构:图的实现,并对其进行深度优先、广度优先遍历******************************************原创 2011-12-25 21:15:08 · 999 阅读 · 0 评论 -
【数据结构】 二叉树的实现
学习数据结构基础,如有错误,请指正。/************************************************************************ 数据结构:二叉树的实现,创建、先序、中序、后序遍历(递归实现)原创 2011-12-15 22:45:18 · 699 阅读 · 0 评论 -
【数据结构】 队列的实现
学习数据结构基础,如有错误,请指正/***数据结构:队列的模拟,创建、销毁、进队列、出队列打印输出字符,模拟先进现出特性***/#ifndef __LINKQUEUE_H__#define __LINKQUEUE_H__typedef char ElemType;struct LinkNode{ ElemType data; LinkNode *next;}原创 2011-12-14 21:08:03 · 672 阅读 · 0 评论 -
【数据结构】 栈的模拟
学习数据结构基础,如有错误,请指正/***数据结构:栈的模拟***/#ifndef __STACK_H__#define __STACK_H__#define MAXSIZE 100typedef char ElemType;typedef struct{ ElemType *top; ElemType *base; int stackSize;原创 2011-12-14 21:06:43 · 573 阅读 · 0 评论 -
【数据结构】单链表
学习数据结构基础,如有错误,请指正/***数据结构:链表的模拟***/#ifndef __LINKLIST_H__#define __LINKLIST_H__typedef int ElemType;struct LinkNode{ ElemType item; LinkNode *next;};class LinkList{priva原创 2011-12-14 20:51:26 · 539 阅读 · 0 评论 -
【数据结构】顺序表
学习数据结构基础,如有错误,请指正/***数据结构:顺序表的模拟***/#ifndef __SQLIST_H__ #define __SQLIST_H__typedef int ElemType;#define MAXSIZE 100#define ADDSIZE 100class SqList{private: ElemType *elem; int原创 2011-12-14 20:44:10 · 673 阅读 · 0 评论 -
简单实现 随机产生一段汉字
今天公司突然需要这个简单实现 随机产生一段汉字,直接上源码。//汉子有两个字节组成string GetRandomCNStringByLongth(int longth){ srand((unsigned)time(NULL)); int iRange1 = 0xf7 - 0xb0; int iRange2 = 0xfe - 0xa1; char cnStr原创 2012-08-27 23:31:16 · 1381 阅读 · 0 评论 -
(指针练习)GetMemory错误讲解
错误程序:void GetMemory( char *p ){ p = (char *) malloc( 100 );}void Test( void ) { char *str = NULL; GetMemory( str ); strcpy( str, "hello world" ); printf( “%s”,str );} 这个一个原创 2012-10-10 20:02:31 · 1045 阅读 · 1 评论 -
笔试题1:C/C++ 笔试、面试题目大汇总
这些东西有点烦,有点无聊。如果要去C++面试就看看吧。几年前网上搜索的。刚才看到,就整理一下,里面有些被我改了,感觉之前说的不对或不完善。 1.求下面函数的返回值( 微软)int func(x) { int countx =0; while(x) { countx ++; x = x&(x-1); } return countx; }原创 2012-10-11 10:05:43 · 1941 阅读 · 0 评论 -
指向指针的指针 和 指针的引用
通过下面的小例子,希望帮助大家理解下这两个概念的区别:如果想改变指针本身而不是它所指向的对象(i),一般有以下两种函数声明的方式: 1 #include 2 3 using namespace std; 4 5 void f(int** j) { *j++; } 6 void g(int*& j) { j++; } 7 8 int main()原创 2012-10-10 20:55:22 · 850 阅读 · 0 评论 -
笔试题2:C/C++ 笔试、面试题目大汇总
《转载》一.找错题试题1:void test1(){ char string[10]; char* str1 = "0123456789"; strcpy( string, str1 );} 试题2:void test2(){ char string[10],str1[10]; int i; for(i=0;原创 2012-10-12 22:35:55 · 1341 阅读 · 0 评论 -
(转)用宏获取函数名
c和c++调式 利用宏获得函数名仅仅为了获取函数名,就在函数体中嵌入硬编码的字符串,这种方法单调乏味还易导致错误,不如看一下怎样使用新的C99特性,在程序运行时获取函数名吧。 对象反射库、调试工具及代码分析器,经常会需要在运行时访问函数的名称,直到不久前,唯一能完成此 项任务并且可移植的方法,是手工在函数体内嵌入一个带有该函数名的硬编码字符串,不必说,这种方法非常单调原创 2013-02-22 15:08:48 · 6744 阅读 · 1 评论 -
JNI编程—— 让C++和Java相互调用
最近需要用这块的知识,查了一些文章保存在这里:JNI编程(一) —— 编写一个最简单的JNI程序JNI编程(二) —— 让C++和Java相互调用(1)原创 2013-03-22 11:35:49 · 1077 阅读 · 0 评论 -
c++11改进我们的程序之垃圾回收(一)
c#和java中有自动垃圾回收机制,.net运行时和java虚拟机可以管理分配的堆内存,在对象失去引用时自动回收,因此在c#和jva中, 内存管理不是大问题。c++语言没有垃圾回收机制,必须自己去释放分配的堆内存,否则就会内存泄露。 我相信大部分c++开发人员都遇到过内存泄露的问题,而查找内存泄露的问题往往要花大量的精力。要解决这个让人头疼的问题可 以采取一些办法,最有效的办法是使用原创 2014-04-21 22:21:15 · 5158 阅读 · 1 评论 -
C语言之 malloc,realloc, calloc区别
三个函数的申明分别是: void* realloc(void* ptr, unsigned newsize); void* malloc(unsigned size); void* calloc(size_t numElements, size_t sizeOfElement); 都在stdlib.h函数库内,它们的返回值都是请求系统分配的地址,如果请求失败就返回NULL 。原创 2014-05-25 15:47:02 · 992 阅读 · 0 评论 -
在VS中添加lib库的三种方法
在VS中添加lib库的三种方法注意:1、每种方法也要复制相应的DLL文件到相应目录,或者设定DLL目录的位置,具体方法为:"Properties" -> "Configuration Properties" -> "Debugging",在"Working Directory"设置dll的路径就可以了2、无论是设置DLL目录,或者是Lib目录,亦或是头文件的目录,都有release转载 2017-07-07 18:27:36 · 1072 阅读 · 0 评论 -
C++ 11 STL中常用容器分类和对比
STL容器分类1,顺序容器 sequence containersarrayvectordequelistforward-list 2,关联容器 associative containerssetmultisetmapmultimap3,无序容器 unordered containers (非标准,也可以划分到关联容器)hash_sethash_multisethash_maphash_multi...原创 2018-06-23 19:53:29 · 5671 阅读 · 0 评论 -
“#if 1”这种写法的作用
【适合跟我一样的菜鸟看下去】最近看公司的代码发现常看到下面这样的代码:#if 1 ……#else ……#endif这样的用法有以下一些作用:1,强制执行 #if 1 部分的代码。2,这样代码常常是项目不断升级的产物:由于要修改代码,但又不想删除原来的代码,就可以用这样的写法。原创 2011-12-12 23:46:25 · 3539 阅读 · 0 评论