我的友情链接

51CTO博客开发

原创 点赞0 阅读278 收藏0 评论0 2017-11-22

C++学习记录贴2

static_cast该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。C++中的static_cast执行非多态的转换,用于代替C中通常的转换操作。因此,被做为显式类型转换使用。比如:int i;float f = 166.71;i = static_cast<int>(f);此时结果,i的值为166。reinterpret_cast 是

原创 点赞0 阅读483 收藏0 评论0 2014-07-07

C++学习记录贴

C++学习记录

原创 点赞0 阅读573 收藏0 评论0 2014-06-26

GLUT鼠标

转自:http://blog.csdn.net/xie_zi/article/details/1925778在前几节,我们看了怎么使用GLUT的keyboard函数,来增加一个OpenGL程序的交互性。现在,是时候研究下鼠标了。GLUT的鼠标接口提供一些列的选项来增加鼠标的交互性。也就是检测鼠标单击,和鼠标移动。检测鼠标Clicks和键盘处理一样,GLUT为你的注册函数(也就是处理鼠标clicks

转载 点赞0 阅读312 收藏0 评论0 2013-12-16

GLUT函数说明

一、初始化void glutInit(int* argc,char** argv) 这个函数用来初始化GLUT库。对应main函数的形式应是:int main(int argc,char* argv[]); 这个函数从main函数获取其两个参数。void glutInitWindowSize(int width,int height);void glutInitWindowPosition(int

转载 点赞0 阅读331 收藏0 评论0 2013-12-16

VS2010中的调试技巧 断点

转自:http://hi.baidu.com/dirtyface001/item/fddcf3d01ded60bf32db9027 跳到当前光标处(Ctrl+F10)我经常看到人们为了到达目标代码位置,而在程序中早早设定了断点,然后反复地按F10/F11,一步步走到目标代码处。当程序员的确需要仔细观察每一步的状态变化时, F10/F11是合理的选择。然而多数情况下,人们只想快速到达他们真正关心的代

转载 点赞0 阅读346 收藏0 评论0 2013-12-08

va_start和va_end使用详解

介绍这两个宏之前先看一下C中传递函数的参数时的用法和原理: 1.在C中,当我们无法列出传递函数的所有实参的类型和数目时,可以用省略号指定参数表void foo(...);void foo(parm_list,...);这种方式和我们以前认识的不大一样,但我们要记住这是C中一种传参的形式,在后面我们就会用到它。2.函数参数的传递原理  函数参数是以数据结构:栈的形式存取,从右至左入栈。  首先是参数

转载 点赞0 阅读305 收藏0 评论0 2013-12-04

什么时候调用const版本的成员函数

当对象是const对象时;当指向对象的指针是const时;当对象的引用是const引用时当只有const版本的成员函数时调用的将是const成员函数。

原创 点赞0 阅读378 收藏0 评论0 2013-12-03

void f() const 的意义

Q:经常看到这样的定义:   void   f()   const   {       ...   }   不知这里的const怎么理解?   是不是和void   const   f()     是一样的? A:----------------------

转载 点赞0 阅读981 收藏0 评论0 2013-12-03

特殊的宏定义

#define Conn(x,y) x##y#define ToChar(x) #@x#define ToString(x) #xx##y表示什么?表示x连接y,举例说:int n = Conn(123,456); 结果就是n=123456;char* str = Conn("asdf", "adf")结果就是 str = "asdfadf";怎么样,很神奇吧再来看#@x,其实就是给x加上单引

转载 点赞0 阅读363 收藏0 评论0 2013-12-03

size_type、size_t、different_type以及ptrdiff_t

size_type 在标准库string类型中,最容易令人产生误解就是size()成员函数的返回值了,如果不深入分析的话,大多人都会认为size()的返回值为int类型,其实不然。事实上,size操作返回的是string::size_type类型的值。 那怎样理解size_type这一类型呢,我引用《C++ Primer》一段原文简单解释一下:    string类类型和

转载 点赞0 阅读448 收藏0 评论0 2013-12-02

uint8_t是什么数据类型

在nesc的代码中,你会看到很多你不认识的数据类型,比如uint8_t等。咋一看,好像是个新的数据类型,不过C语言(nesc是C的扩展)里面好像没有这种数据类型啊!怎么又是u又是_t的?很多人有这样的疑问。论坛上就有人问:以*_t结尾的类型是不是都是long型的?在baidu上查一下,才找到答案,这时才发觉原来自己对C掌握的太少。那么_t的意思到底表示什么?具体的官方答案没有找到,不过我觉得有个答

转载 点赞0 阅读2332 收藏0 评论0 2013-12-02

联机对战DEMO

phone_VS_PCpc_vs_pc

原创 点赞0 阅读274 收藏0 评论0 2013-12-01

C++11 新特性:decltype

decltype 是GCC 实现的第一个C++ 11 新特性。它实际上起源于一个相当古老的GNU 扩展关键字——__typeof__。这个非标准关键字也能够在C 语言中使用,GNU Compiler Collection 的专业用户可能对它更熟悉一些。2008 年,GCC 4.3.x 就实现了这个特性,同时去除了__typeof__ 的一些缺点。现在,decltype 和__decltype 两个

转载 点赞0 阅读521 收藏0 评论0 2013-12-01

do...while(0)的妙用

在C++中,有三种类型的循环语句:for, while, 和do...while, 但是在一般应用中作循环时, 我们可能用for和while要多一些,do...while相对不受重视。    但是,最近在读我们项目的代码时,却发现了do...while的一些十分聪明的用法,不是用来做循环,而是用作其他来提高代码的健壮性。1. do...while(0)消除goto语句。通常,如

转载 点赞0 阅读187 收藏0 评论0 2013-12-01

简单好用的hash表-----uthash

转自:http://blog.csdn.net/devilcash/article/details/7230733 在软件开发中,不可不免的会使用到hash表,hash表的优点这里就不说了,以下介绍一个hash表的C实现, uthash是用宏实现的,使用的时候非常方便,只用包含uthash.h即可。   Uthash的三个数据结构: 1. typedef struct UT_h

转载 点赞0 阅读1487 收藏0 评论0 2012-03-31

巧用宏定义来简写C,C++代码

转自:http://www.vimer.cn/2011/01/%E5%B7%A7%E7%94%A8%E5%AE%8F%E5%AE%9A%E4%B9%89%E6%9D%A5%E7%AE%80%E5%86%99%E4%BB%A3%E7%A0%81.html 通过设计模式的角度来说,就是模板方法,已经有一个基类,需要定义很多子类来实现其方法。 但是类名都只有一部分不同,且构造函数的入参也只有一部分不

转载 点赞0 阅读440 收藏0 评论0 2012-03-30

cocos2d里面如何实现MVC(完)

 转自:http://www.cnblogs.com/andyque/archive/2012/03/18/2390111.html 今天我们讨论的主题是Model-View-Controller (MVC)设计模式,以及如何在cocos2d里面实现它。来自波兰的Bartek Wilczyński写了一系列的文章来介绍这个模式,同时说明了为什么要使用mvc,以及如何在cocos2d里面

转载 点赞0 阅读362 收藏0 评论0 2012-03-29

cocos2d里面如何实现MVC(六)

本文将会比较简短。如果你对于前面几篇介绍cocos2d里面如何实现mvc有什么不清楚的地方,请跟我讲,这样我就可以补充地更详细一点。我(原作者)最近接了一些非常大的外包项目,所以,用来写博客的时间不是很多。在此,我简单地总结一下前面写的这些文章: 我们实现了Model,它可以帮助我们封装游戏的逻辑,这样可以使我们的关注点集中于游戏逻辑,而不是其它的(比如渲染) 我们实现了C

转载 点赞0 阅读238 收藏0 评论0 2012-03-29

cocos2d里面如何实现MVC(五)

更新Model 当用户从工具箱中选一个小工具,然后把它放置到game board上面去时,我们需要编码响应这些事件。在上一篇文章中,我们已经实现了GameBoardViewDelegate的touchedAtRow方法。我们还需要给这个协议再添加一个接口方法。如下所示: @protocol GameBoardViewDelegate - (void)gameBoard:(GameBoa

转载 点赞0 阅读279 收藏0 评论0 2012-03-29

cocos2d里面如何实现MVC(四)

介绍模型 在上一篇博文中,我们介绍了view和controller。为了实现mvc模式,我们还需要添加一个model类来维护游戏的状态。我们的实现应该要包含下列这些类: GameBoardView - 也就是View, GameBoardController - 也就是Controller. GameBoard – 也就是Model.

转载 点赞0 阅读222 收藏0 评论0 2012-03-29

cocos2d里面如何实现MVC(三)

情景 我们将制作一个简单的面板解谜游戏(board puzzle game),当然,我们不是简单地开发一个游戏,而是要利用mvc开发出一个简单的“游戏框架”,而且这个框架将会在我的新游戏里面使用到,它具有如下一些特性: 一个n行n列的游戏面板(game board),n可以随着游戏难度进行变化。 这个游戏面板里面会包含一些“小方块(ga

转载 点赞0 阅读311 收藏0 评论0 2012-03-29

cocos2d里面如何实现MVC(二)

模型类 就像之前所讨论的,GameModel类存储了游戏世界里面的一些属性,比如当前的重力。但是,它同时也负责创建和联接游戏里面的对象,比如Player和Platforms。它们之间的关系如下图所示:(译者:这里采用了针对接口编程的方法,所有的游戏对象都实例updateable接口,这样就可以在game loop里面更新自己了。同时GameModel类提供了一个工厂方法createGameObj

转载 点赞0 阅读204 收藏0 评论0 2012-03-29

cocos2d里面如何实现MVC(一)

  前言: 众所周知,现在MVC非常流行。现在只要随便搜索一下,哪里都是MVC的影子。刚开始在j2ee里面,然后是rails,后面居然.net也出来了,ios更不用说,哪里都是mvc,而且强制你必须使用mvc。但是,我们写的那些程序,真正完全符合mvc吗?呵呵,这个不好说,看个人理解程度而异。mvc实在是太火了,马上就有人在cocos2d社区里面讨论,cocos2d该怎么实现mv

转载 点赞0 阅读274 收藏0 评论0 2012-03-29

Android如何防止apk程序被反编译

作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来。 Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一个proguard文件夹 proguard是一个java代码混淆的工具,通过proguard,别人即使反编译你的apk包,也只会看到一些让人很难看懂的代

转载 点赞0 阅读435 收藏0 评论0 2012-03-25

Android APK反编译详解(附图)

这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。 在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件。 一、反编译Apk得到Java源代码 首先要下载两个工具:dex2jar和JD-GUI 前者是将apk中的class

转载 点赞0 阅读347 收藏0 评论0 2012-03-25

OpenGL 坐标系定义

openGL使用右手坐标 从左到右,x递增 从下到上,y递增 从远到近,z递增 -------------------------------------------------------------------------------- OPENGL坐标系可分为:世界坐标系和当前绘图坐标系。 世界坐标系以屏幕中心为原点(0, 0, 0)。你面对屏幕,你的右边是x正轴,上面是y正

转载 点赞0 阅读1386 收藏0 评论0 2012-03-25

SurfaceHolder.Callback 的三个函数什么情况下调用

surfaceCreated(SurfaceHolder holder): 当Surface第一次创建后会立即调用该函数。程序可以在该函数中做些和绘制界面相关的初始化工作,一般情况下都是在另外的线程来绘制界面,所以不要在这个函数中绘制Surface。   surfaceChanged(SurfaceHolder holder, int format, int width

原创 点赞0 阅读766 收藏0 评论0 2012-03-24

Android 锁屏和黑屏的广播消息

一下方法或设置均未验证 ========== 锁屏或黑屏会广播两个消息分别是:ACTION_SCREEN_OFF和ACTION_SCREEN_ON 程序控制手机永远不锁屏或者永远亮光:通过设置View.setKeepScreenOn(boolean)的方法可以永不锁屏   ===========以下方法作者声称没有监听到该广播=========== public void o

转载 点赞0 阅读1344 收藏0 评论0 2012-03-24

Android中Context简介

Context字面意思是上下文,位于framework package的android.content.Context中,其实该类为LONG型,类似Win32中的Handle句柄。很多方法需要通过 Context才能识别调用者的实例:比如说Toast的第一个参数就是Context,一般在Activity中我们直接用this代替,代表调用者的实例为Activity,而到了一个button的onCli

转载 点赞0 阅读286 收藏0 评论0 2012-03-24
  • 1
  • 2
  • 3
写文章