![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
机智的小鸡
一个在边学习,边苦逼搬砖的程序猿
展开
-
关于 Cocosdx 3.4 中如何使用Scale9Sprite
相信现在很多刚学Cocos2dx的同学会跟我遇到差不多的问题,就是Cocos2dx的更新实在是太快了,导致有些在书上的方法并不适用。就像我之前在《Cocos2dx3.X游戏开发之旅》尝试使用Scale9Sprite失败一样,在3.4之前的版本,根据书上#include "extensions/cocos-ext.h" //引用头文件USING_NS_CC_EXT; //使用命名空间原创 2015-07-10 10:48:01 · 459 阅读 · 0 评论 -
关于visual Studio 2012(2013)编译过程出现 can not run rc.exe 解决方案
最近楼主在编译VC程序的时候莫名的出现了这个错误,查了之后发现是由于编译器目录下缺少了rc,exe 和 rcdll.dll两个文件所致楼主在自己的文件夹:C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin中找到这两个文件,读者可以自行参考一下目录结构在相类似的文件夹中找到,然后把这两个文件复制到以下文件夹:C:\Program原创 2015-09-13 00:11:53 · 1870 阅读 · 1 评论 -
函数调用约定与名字修饰约定
转自:http://blog.csdn.net/lixiang19910909/article/details/48549425 在Windows下,由于很多语言支持动态链接库技术,因此动态链接库是一种很好的混合编程方法。语言对函数的约定有两种:函数调用约定和名字修饰约定。不同语言默认的调用调用约定和函数的命名方式是不同的,要想不同的语言开发的动态链接库能够相互调用,那么开发动态链接库的语转载 2015-09-19 10:50:10 · 453 阅读 · 2 评论 -
DirectX控制帧率方法
大家都知道,在游戏制作里面,控制帧率是一件很重要的事情,那么我们在DirectX里面又是怎样来控制游戏的帧率呢?其实有两个方法可以实现:一、控制窗口刷新率在新建一个Direct3DDevice的时候我们会用到CreateDevice这个函数,如果是全屏模式下,我们可以通过修改D3DPRESENT_PARAMETERS结构参数中的PresentationInterval 值为 D3DPRESENT_I原创 2015-09-23 10:12:07 · 5747 阅读 · 1 评论 -
CodeBlocks Linux下调用dlopen undefined reference to dlopen 错误
需要在工程的build options里面,linker settings ,加上lib/i386-linux-gnu/libdl-2.19.so 库即可原创 2015-12-24 10:25:46 · 1255 阅读 · 0 评论 -
设计模式读书笔记(二) Singleton(单例)模式
一、模式介绍单例模式又叫做单态模式或者单件模式。在 GOF 书中给出的定义为:保证一个类仅有 一个实例,并提供一个访问它的全局访问点。单例模式中的“单例”通常用来代表那些本质上 具有唯一性的系统组件(或者叫做资源)。比如文件系统、资源管理器等等。 二、模式的目的单利模式的目的就是为了控制特定的类的数量,比如在一个pc上只允许有一个鼠标指针在运动,再比如操作系统只能有一个窗口管理器,一般来说这个类是属原创 2016-06-28 11:47:58 · 391 阅读 · 0 评论 -
设计模式读书笔记(一) Abstract Factory(抽象工厂)模式
一段时间没上博客了,总觉得各种忙,也不知道在忙些啥,瞎忙活的感觉,仔细想了一下,还是每天抽时间出来好好看看书,在博客上记录一下自己的成长过程。闲话不多说了,开始吧~~先简单的介绍一下一般的设计模式包含哪些,还有他们的目的是什么吧: 目的 设计模式 可改变的方面 创建 Abstract Factory 产品对象家族 Builder 如何创建一个组合对象 F原创 2016-06-05 17:46:16 · 663 阅读 · 1 评论 -
设计模式读书笔记(三) Builder(建造者)模式
一、模式介绍在平常的时候,我们不管是上KFC还是去买组装电脑,我们都会遇到这样一个现象:就是不管我们的需求怎么变化,我们只要点下了我们想要的餐品,服务员下单完毕之后,不用多久,我们的自定义套餐就上来了。这其实就是建造者模式的一个具现化,作为装配工,他不管你需要的是劲辣鸡腿堡还是深海鳕鱼堡,不管你要的是甜筒还是圣代,只要给他一份订单,他就能三下五除二地把你的套餐装配好。引用一下深入浅出设计模式里的话:原创 2016-07-02 17:04:35 · 685 阅读 · 2 评论 -
设计模式读书笔记(四) Bridge(桥梁)模式
一、模式介绍GOF 在《设计模式》中给桥梁模式的定义为:将抽象部分与它的实现部分分离,使它 们都可以独立地变化。这里的抽象部分和实现部分不是我们通常认为的父类与子类、接口与 实现类的关系,而是组合关系。也就是说,实现部分是被抽象部分调用,以用来完成(实现) 抽象部分的功能简单来说,桥梁模式就是为了降低耦合,让抽象与实现相分离,使得两者都能够各自变化二、例子实现假设我现在有两台电脑,一台是预装wind原创 2016-07-13 15:52:33 · 682 阅读 · 0 评论 -
快速求平方根倒数算法
float FastInvSqrt(float x) { float xhalf = 0.5f * x; int i = *(int*)&x; // evil floating point bit level hacking i = 0x5f3759df - (i >> 1); // what the fuck? x = *(float*)&i; x = x*(转载 2016-09-05 11:41:16 · 1466 阅读 · 1 评论 -
关于char * ,const char* 转 LPCWSTR 无效的方法
#include 使用 _T(x) 这个宏即可完成转换例如:WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, MsgProc, 0L, 0L, hInst, NULL, NULL, NULL, NULL, _T("AppClass"), NULL };原创 2015-09-11 15:08:05 · 511 阅读 · 3 评论 -
关于$P Point-Cloud Recognizer (点云手势识别)的理解
在Unity3D当中有一个FingerGesture的插件,这个插件可以让你在普通的屏幕上以鼠标模拟手机触摸屏的Touch事件,从而方便调试,另外,这个插件还可以帮忙让Unity项目在红外边框触摸屏下正常的发挥触摸作用。关于这款插件的使用,我这边先不多说,下面主要说一下的是这个插件当中的一个有趣的功能——自定义手势识别所用到的算法。这个算法就是:$P Point-Cloud Recog原创 2015-09-02 11:06:19 · 3947 阅读 · 3 评论 -
C++ math.h函数
#include int abs( int num ); double fabs( double arg ); long labs( long num ); 函数返回num的绝对值 #include double acos( double arg ); 函数返回arg的反余弦值,arg的值应该在-1到1之间 #include double asin( doub转载 2015-07-29 15:25:20 · 822 阅读 · 0 评论 -
C++ 二维数组中的二分查找
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。这样的矩阵有个性质,最左上角的元素必定是最小值,最右下角的是最大值,在一个m*n的矩阵中,类对角线:i=(m1+m2)/2,j=(n1+n2)/2;上的元素也是排好序的,通过对整体矩阵的一个行和列的二分查找原创 2015-07-07 10:40:02 · 1322 阅读 · 2 评论 -
关于C++builder中精度丢失的问题
原意:现有应交款项m元,折扣率n(0 公式:LastMoney = m - ( m * ( 1 - n ) )现设m 为 14.25元 折扣率n为0.8 根据公式计算:int nOrginMoney = 1425;(转换成分为单位进行计算)double dRebate = 0.8;int tempMoney = nOrginMoney * (1原创 2015-07-07 10:24:15 · 609 阅读 · 0 评论 -
C++指针和二维数组
在C++中,数组都可以用指针来表述,一位数组和指针的关系比较简单我就不说了(就是数组第一个元素的地址加上偏移量就能找到各个数组元素),下面是关于指针和二维数组的一些关系转换#include int main(){ int m,n; while(scanf("%d%d",&m,&n)!=EOF) { int a[m][n];原创 2015-07-07 10:48:33 · 777 阅读 · 0 评论 -
大数据的加法
void add(char a[],char b[],char output[]){ int i,j,k,up,x,y,z,l; char *c; if (strlen(a)>strlen(b)) { l=strlen(a)+2; } else l=strlen(b)+2; c=(char *)原创 2015-07-07 10:36:07 · 670 阅读 · 0 评论 -
C++ 复制构造函数为啥用引用作为对象
如果按值调用,则在调用的过程当中,复制构造函数就会调用自己,陷入死循环原创 2015-07-07 10:40:55 · 629 阅读 · 0 评论 -
C++ 特殊的类
之前在面试中多少会遇到的一些问题,记录下来以便以后翻看1、不能复制的类:class Student{ public: Student(){}; private: Student(const Student& S ){}; Student&operator= (const Student&){};原创 2015-07-07 10:42:02 · 653 阅读 · 0 评论 -
quickSort
void quickSort(int a[], int low, int high){ if( low >= high) { return; } int i = low; int j = high; int key = a[i];原创 2015-07-07 10:50:25 · 643 阅读 · 0 评论 -
取最大字串和(HDoj 1003)
关于杭电Oj1003题的一个解法#include using namespace std;int main(){int max,start,end,temp,n,k,t,a;cin>>t;for(int i = 1; i <= t; i++){cin>>n;max=-9999;temp=0;start=1;end=1;k=1;for(int j = 1;j原创 2015-07-07 10:32:56 · 494 阅读 · 0 评论 -
函数指针和指针函数
在C++里面,相信很多初学的同学都会混淆这两个概念:函数指针,指针函数。其实,顾名思义,函数指针就是—指向函数的一个指针,它的定义通常如下:T (* fun )(T a, T b)这是一个指向 “返回值为T类型,传入参数为两个T类型的函数"的指针。在实际使用中如下:#includeusing namespace std;int addFun(int a , int b){原创 2015-07-16 11:13:20 · 438 阅读 · 0 评论 -
C指针声明解读之左右法则
【转载】方便以后查询阅读C指针声明解读之左右法则C语言所有复杂的指针声明,都是由各种声明嵌套构成的。如何解读复杂指针声明呢?右左法则是一个既著名又常用的方法。不过,右左法则其实并不是C标准里面的内容,它是从C标准的声明规定中归纳出来的方法。C标准的声明规则,是用来解决如何创建声明的,而右左法则是用来解决如何辩识一个声明的,两者可以说是相反的。右左法则的英文原文是这样说的:转载 2016-12-04 23:45:38 · 411 阅读 · 0 评论