51CTO博客开发
Tips18:让借口容易被正确使用,不易被误用Tips19:设计class犹如设计type设计类的tips,还是要从实践当中总结,只凭一两个小程序,很难说明问题。还是自己慢慢在项目中领悟吧~~Tips20:宁以pass-by-reference-to-const替换pass-by-value这条基本上是常识了。除了内置类型,指针,迭代器(实质也是指针)以及函数对象外,其余对象都应该以pass-by
Tips13:以对象管理资源一、用对象的特性来管理资源最常用的资源就是,new出来的内存,即动态分配内存,此外还有数据库连接,网络sockets等等。重要的是,一旦使用完这些资源,必须给系统。所谓,用对象管理资源,就是利用对象销毁时,自动调用析构函数,在析构函数内释放这些资源,从而在某种程度上达到自动释放资源的目的 二、RAII对象RAII:Resource Acquisiton Is Inint
Tips09:绝不在构造和析构过程中调用virtual函数PS:本人觉得,应该改成不要在基类的构造和析构中调用virtual函数一、如果在基类的构造函数中调用virtual函数,调用谁的?class Transaction { public: Transaction(void){ logTransaction(); } virt
Tips05:了解C++悄悄编写并调用哪些函数编译器自动生成的函数包括1. 构造函数(default)2. 拷贝构造函数(copy)3. 析构函数4. 拷贝复制运算符(copy assignment)如果一个class的成员变量含有reference(引用)类型,那么必须自己定义copy assignment操作符。编译器自动构造的copy assignment的默认操作,是逐一调用成员变
Tip01:C++为一个语言联邦C:C++是以C为基础,这一部分就是基础的C,没有模板(template),没有异常(exceptions),没有重载(overloading)Object-Oritented C++:即C with Class,面向对象部分。Template C++:C++的泛型编程STL:一个template程序库。编程守则:1.对于C而言,因为C中没有Object的概念,因此
2画个三角形绘制三角形时,要用到顶点缓存(VBO)的知识。个人感觉,这部分已经是GL比较中级的知识了。所以这里不做详细解释,也不拿VBO和顶点数组(VA)和显示列表作对比。我觉得,像GL这种实践性很强的技术,还是先动手把效果实现了再说。《OpenGL超级宝典》之所以提供GLTools,就是想先把复杂的原理屏蔽掉,让初学者能快速实现效果,随着程序写的越多,有些原理自然而然就理解了。否则,一开始就灌输
一、工欲善其事,必先利其器。开搞之前,得先把凑齐装备。不指望能像孙大圣,那样上来就配个十万八千斤的金箍棒,但基本的工具还是要必备的。OpenGL只负责图形的渲染,所以想窗口的创建,读取图片,生成矩形神马的。都不属于GL的范畴,同时为了贯彻“坚决不重复造轮子”的方针,决定配备以下工具 OpenGL实用工具包:freeglut——创建和管理各个平台平台上的OpenGL上下文的窗口,也看到鼠标,键盘和操
无论是遗憾,还是后悔,对着逝去的2013有着太多的唏嘘不已,可能与此同时却无法察觉现在的自己和2013的自己有着相似的轨迹。1314,仿佛暗示着度过自己的一生一世,在临终之时,回想自己曾走过的路,同样留下太多的后悔和不甘……. 度过了13,迎来14。如果说13意味着自己前半段“浪费”的20多年,那么14就暗示着已经来临的后半段。14或许就是后半段的一个缩影
0.为了与本文情况一致,建议各位看官的工具均升至最新版Eclipse Kepler+ADT 22.3.0+CDT-master-8.2.1+android-ndk-r9c-windows-x86_641.下载Android版Irrlicht的源码。https://gitorious.org/irrlichtandroid/irrlichtandroid/source/f12c3b9743d64dc
耳机中循环着《我不愿让你一个人》……21:14,还有不到3个小时,就要和2013说再见了,回首这一年,或许虚度,或许充实,或许遗憾,或许还有许多许多放不下的事,但时间的脚步不会因我的不舍而暂停哪怕是0.01秒,再见2013。 踏上IT这条注定“辛苦”的路已有五年。五年,从开始连C语言是什么不知道,到现在算是半个见习程序员,觉得自己走了许多弯路,就像现在许多大
原先定的计划又没完成,公司定的项目和自己的计划搭不上边,干了一天活,也不想研究自己计划东西....现在放了两个星期的假,好好计划一下自己的游戏人生。公司那边要做网页游戏,还是好好看看JavaScript,jQuery吧我自己对客户端游戏感兴趣,现在想学习的引擎有libGDX,Cocos2d-x还有Slick2D 貌似Slick2D了解的人不多,可能的话。打算这段时间,写一
上一篇ChatofPomelo简析之一——用户登录分析客户端登陆的过程。当用户登陆成功后,聊天又是个什么过程呢?下面就来分析聊天时,客户端与服务器端的交互过程。客户端我们先来看看下,聊天发送消息的过程。当用户在文本框内输入文字,并回车就可以发送消息了 1: $("#entry").keypress(function (e) { 2:var route = "chat.c
官方给的tutorial真是简单明了,简的刚开始学pomelo,压根就不知道代码写在哪。所以还是自己研究研究。首先看服务器端,处理逻辑的主要在game-server/app/servers下。 有chat、connector和gate三种类型的服务器。connector:frontend前端服务器,承载连接,并把请求转发到后端的服务器群 gate:客户端线连接gate服务器,然后再由gate决定客
具体搭建方法,可参阅这两篇文章 http://www.cnblogs.com/ybgame/archive/2012/06/07/2540693.html http://blog.csdn.net/maojudong/article/details/7261986 首先导入Cocos2d-x下的HelloCpp项目 本文主要记录在配置的过程中遇到的问题及注意事项 问题
之所以是命名为学习笔记而不是开发笔记,很简单~~因为本人也在学习当中,只是把学习过程中的经验和心得分享出来而已~~ 我相信每个学计算机的孩纸都有一个梦想,就是有一天能做出一个属于自己的游戏,后来因为种种原因,离当初的这个梦想越来越远~~(好吧 我是在说我自己) 直到偶然发现了Slick2D这个游戏引擎(虽然作者说不是),又萌生出写游戏的念头~~大游戏写不出来,写写小游戏自娱自乐还是可以滴~~
对于图形界面来说,按钮神马的最最常用了。但是老用系统提供的那几个按钮控件不觉得单调吗?为了让界面看起来了更加炫,其实按钮控件完全可以DIY~~ 本篇就讲解怎么DIY属于自己的Button!Let’s go!! 1.定制自己的Button,首先就需要前景,背景和按钮按下时的样式,当然按钮的位置和宽高也是必须的。 后者就是按钮被按下的样子。仔
2013.04.07 做项目要用到Java关于音频的包,主要是javax.sound.sample。有空研究一下http://docs.oracle.com/javase/1.5.0/docs/guide/sound/programmer_guide/contents.html
每个人的生命就像沙漏,里面装的沙子总量大致相当,不同的是,有的沙漏颈部较喜,有的沙漏颈部较粗。 颈部较细的沙漏能够抓住每一粒时间之沙,即使沙子总量一样,也能拥有更长的生命。 &nb
C/C++:如果要用函数改变实参(传进函数的参数,非形参)的值,一定要用引用传递!!!即传入的是实参的地址!!! //改变值类型,形参是指针类型 function(*value){.....} //改变指针类型,通常是分配空间,用传入的指针指向该空间,传入指针的地 //址,即二级指针!!! function(**
一、AndroidPn——IQHandler 在学习工厂方法模式的时候,看到实例代码,感觉以前就见过这种模式的应用。原来,前不久做的有关AndroidPn的项目中,服务器有段代码的形式和工厂方法很相似。 之前,在这篇文章《模拟AndroidPN Client(1)——AndroidPN源码简析》中分析了如何在服务器中处理自定义的xmpp节。
《研磨设计模式》之工厂方法模式 一、应用场景 实现一个能导出数据到各种文件格式(txt,DBFile,Excel,Xml)的应用框架. 1.不管用户导出神马样的文件格式,都要进行一个导出的操作. 2.系统不知道用户会导出哪种格式的文件 书中描述,框架是一个半成品,开发者可以在此基础上完成软件功能。因此具体是导出神马样的格式,是由具体的开发者(本例是Cli
希尔排序,增强版的插入排序.交换不相邻(相隔为h)的元素对数组进行局部排序,并最终用插入排序将局部有序的数组排序. 1.插入排序是希尔排序的特殊情况,h=1; 2.希尔排序的最后一次排序,还是利用的插入排序 希尔排序多数组进行多次排序,而且最后一次还利用插入排序,那为什么希尔排序会比插入排序要快呢? 注意希尔排序最后一次用插入排序(h=1)进行排序时,数组已经局部有序. 而插入排序的性能
记录几个测试算法性能的工具类,方便以后测试算法. Stopwatch类:可以得到算法的执行时间(单位:s,小数点后3位) 1: public class Stopwatch { 2: private long start; 3: 4: public Stopwatch() { 5: st
前面说过XmppManager(位于AndroidPn Client的org.androidpn.client包内)是主控制器,通过调用其他的提供的某些方法,来实现客户端的连接(Connect)、注册(Register)和登陆(Login)。在模拟AndroidPn Client,实际上就是将该类以及该类所用的对象移植到PC端去。 1.首先先看XmppManager的实例变量(这里只列出我们
最近正在做一个项目,要用到Android的Push技术。目前对于Android的推送技术,用的比较多的还是AndroidPn。由于要对Push的服务器端,进行压力测试。当然,不可能真找几千台手机来测试。所以只能通过PC端模拟AndroidPN的用户端,每个线程代表一个AndroidPN的客户端。 闲话少说,要想在PC端模拟AndroidPN的客户端,不了解源码是不行的。 Goog
2.3.weighted-quick-union——加权quick-union算法 上篇的quick-union算法的效率之所以低(平方级别),最主要的原因是union(p,q)方法,随意将一棵树连接到另一棵树上(一棵树对应一个连通分量)。 1.如果是小树(高度低)连接到大树的根节点(高度高),则小树的高度加1,而整个树的高度不变。 2.如果是大树(高度高)连接到
详细解析参照算法(第4版)1.5章——案例研究:union—find算法 1.union-find法的API public class UF UF(int N) 以
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号