自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (24)
  • 收藏
  • 关注

转载 STL — — string

string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常string类的字

2012-11-30 13:48:44 371

原创 auto_ptr

C++提供了std::auto_ptr,即“智能指针”,是个“类指针(pointer-like)对象”,其析构函数自动对其所指对象调用delete,因此auto_ptr充当资源管理者的角色,属于管理对象,而且用被管理对象进行初始化。      如果多个auto_ptr同时指向同一对象,对象会被删除一次以上,会出现“未定义行为”。为了预防这个问题,auto_ptr有一个不寻常的性质:若通过拷贝构

2012-11-28 16:37:13 347

原创 拷贝对象应注意的地方

拷贝对象主要涉及两个函数,一个是拷贝构造函数,一个是赋值运算符。1、拷贝构造函数应该确保复制“对象内的所有成员变量”和“所有基类的成分”。2、最好不要在拷贝构造函数中调用赋值运算符,或者赋值运算符中调用拷贝构造函数:      赋值运算符中调用拷贝构造函数,就好像试图构造一个已经存在的对象;构造函数用来初始化新对象,而赋值运算符只适用于已经初始化的对象。

2012-11-28 15:57:35 487

转载 UML——关系连连看

对UML中图的关系进行总结和理解,以便后边更好的画图 进行铺垫,进而对后面的9种图用一个更深入的理解。1、关系(1)依赖关系(Dependency)  A类依赖于B类也就是说,A类会用到B类。B类的变化会影响到A类。依赖的关系是具有偶然性的、临时性的、非常弱的。UML中用带箭头的虚线表示。注意:箭头指向被依赖方(2)泛化关系(Generalization)

2012-11-27 22:10:55 588

原创 基类的作用

基类的设计目的,最重要的一点是实现多态性,通过虚函数和继承机制,实现基类指针指向不同的子类对象,或者说“通过基类接口处理子类对象”;        但是,并非所有的基类的设计目的都是为了多态用途,比如为了实现类中的拷贝构造函数和赋值运算符不被调用的基类uncopyable;        还有,有些类都不被设计为基类,比如标准string和STL容器都不被设计作为基类使用,当然也更不用谈多

2012-11-26 21:29:10 3683

原创 析构函数调用顺序

构造函数的调用顺序是,首先是虚基类,然后是非虚基类;首先是基类,然后是子类。        non-virtual析构函数的调用顺序是,首先是当前对象或指针所对应的对象(不一定是指针所指向的对象哦,比如基类指针所对应的对象是基类,所指向的对象是子类),然后是基类对象。        virtual析构函数的调用顺序是,首先是当前对象或指针所指向的对象,然后是基类对象。

2012-11-26 18:34:58 576

原创 如何不允许调用对象的拷贝构造函数和赋值运算符

C++中,如果不自定义对象的拷贝构造函数和赋值运算符,编译器会为该类添加默认的拷贝构造函数和赋值运算符,而且都是public。        但是,有时候我们不希望编译器管太多“闲事”,比如,我们定义一个类,不允许进行拷贝,不允许调用拷贝构造函数和赋值运算符,那该怎么办呢?        那么,我们就希望,如果调用的此类的拷贝构造函数或者赋值运算符,编译器能够报错。我们可以采用,把拷贝构造

2012-11-26 17:54:53 1103

原创 引用类型和const类型的成员变量

1、引用类型的成员变量,在构造函数中初始化,但是不能重新赋值,因为c++中不允许“reference”更改指向不同的对象。2、const类型的成员变量,在构造函数中初始化,但是不能重新赋值,因为c++中更改const变量是不合法的。

2012-11-26 17:15:45 962

转载 网游UI解决方案的选择

作者 鸣·铭 转载请注明出自http://www.mobilegamebase.com    由于新项目动工,UI方面需要确定方向,所以最近纠结于各种解决方案的选择。以下是对各方案的比较,仅供参考,希望对同样纠结于此的朋友有所帮助:)1.沿用当前的UI    公司是从2D游戏起家的,2D游戏本身就相当于一套庞大的UI,所以这方面有所积累。这套UI系统至少是经过几十万玩家测试

2012-11-23 20:18:40 1382

原创 const成员函数如何调用non-const成员变量

比如,成员函数std::size_t getSize()const;成员变量std::size_t mSize;        正常情况下getSize函数直接返回mSize是没有问题的;但是,如果进行mSize++操作就是是错误的,因为编译器总是认为你可能会改变mSize的内容,纵使有时候你不会去改变。不过,我们把mSize设为mutable,即mutablestd::size_t mS

2012-11-23 13:35:00 815

原创 参数传递深入分析

C++参数传递分为两种:pass-by-value和pass-by-reference。二者适合不同的场合,在数据为只读的情况下讨论如下:1、对于内置类型,比如int,pass-by-value更高效;2、对于自定义类型,比如class,pass-by-reference-const更好,因为class有构造函数和析构函数,按值传递,需要构造一个对象的副本,传递的是对象的一个副本,需要

2012-11-23 13:19:59 452

原创 const iterator与const_iterator

const iterator表示iterator是const的,即iterator本身不能改变或者说iterator指针不能改变,但是iterator所指向的内容可以改变。比如,        const std::vector::iterator iter = vec.begin();          *iter = 10;是对的,改变iter指向的内容;但是++iter是错误的,因为

2012-11-23 12:21:25 1574

原创 const指针

const与指针结合,实际意义见下面的例子:        char ch[] = "ch";        char* ptr = ch;                          // non-const pointer, non-const data        const char* ptr = ch;               // non-const point

2012-11-23 12:03:54 533

原创 C++组成部分

C++是一种编程语言,但又不是一种单一的编程语言,它可以包含以下四种子语言,也即C++的四个组成部分:1、C部分。C语言的基本语法,内置类型、预处理、数组、指针等。2、面向对象部分。类,封装、继承、多态、虚函数等。3、泛型编程。以模板为基础,减少运行期时间。4、STL。容器、迭代器、算法等程序库,安全、便捷。

2012-11-23 11:00:36 3077

转载 c++程序员必看的书

C++程序员应看的书,这些书无须全部看了,不过如果你连一本都没阅读过,至少你不是个成熟的C++程序员,要想提升应该对原著有深入理解。纸质书籍类: 1、C++程序设计语言(特别版十周年中文纪念版)2、C++ Primer中文版(第4版)3、深度探索C++对象模型4、C++语言的设计和演化5、C++标准程序库:自修教程与参考手册6、STL源码剖析7、C++设

2012-11-23 09:45:25 2536

原创 Ogre中通过操作硬件缓存来设置透明度

Ogre::PixelUtil::packColour( 0.0f, 0.0f, 0.0f ,0.0f, PF_A8R8G8B8, &pbptr[x]);此句代码实现模型的完全透明。前四个参数分别表示r,g,b,alpha。但是,有的时候设置无效,显示模型为黑色。这种情况下,需要设置对象的混合方式,在材质脚本的pass中设置scene_blend alpha_blend即可。

2012-11-21 09:09:29 802

原创 3ds max中的对象绕局部坐标系旋转的动画

最近在3dsmax中坐旋转的动画,但是出现了一个问题,绕局部坐标系进行旋转之后的动画,出现的效果确是绕全局坐标系旋转,测试了一个上午,终于找到了解决方案。        如下图所示,3dsmax中右侧控制面板中的        “运动” ->“PRS参数”->"创建关键点"->“旋转”,         "运动"->“Euler参数”->"轴顺序zxy"->“旋转轴z”,

2012-11-12 14:39:51 10138 2

原创 Ogre中的alpha混合

对材质脚本中的pass进行编辑:        scene_blend alpha_blend        depth_check off    可以实现当前渲染通道与场景中的内容进行alpha混合,实现一些特殊效果;比如,当前通道的alpha值为1,则最终结果只绘制当前通道的颜色。

2012-11-10 13:15:20 705

原创 天空盒、天空穹和天空面

1、什么天空盒、天空穹、天空面?    (a)天空盒,立方体组成的盒子,六个面都有贴图;    (b)天空穹,立方体组成的盒子,五个面有贴图,底面没有贴图;    (c)天空面,只有一个面,位于上空;2、怎么调用?    天空盒的调用示例: mSceneMgr.setSkyBox( true, "Examples/SpaceSkyBox", 1000,

2012-11-10 12:43:50 2856

原创 国内使用Ogre 3D开发的游戏

公司名游戏名搜狐畅游《天龙八部》 《鹿鼎记》麒麟网《成吉思汗》吉比特《问鼎》深圳网域《华夏》久游《疯狂飙车》

2012-11-08 13:11:36 3057

原创 3DS MAX分配网格时出错,减少面数以渲染此场景

错误如下:  原因分析:        场景太大物体数太多。     解决方法:        1、检查物体数;        2、检查空物体,空点;        3、重命名材质球;        4、残余痕迹,线段,动作痕迹;        5、用排除法,逐一隐藏物体进行渲染;        6、合并的模型需要检查材质是否是高反射,高采样,高质量

2012-11-04 10:55:31 6971 1

原创 Ogre中设置透明度

Ogre提供强大的材质脚本系统,在*.material材质文件中,可以将参数scene_blend设置为add、modulate、alpha_blend、colour_blend。       设置此渲染通路与场景中现有的内容混合的方式。这种混合就允许物体透明和其他特殊效果。有两种形式可供选择使用:一是使用预定义混合形式;二是使用自定义的办法,源因数和目标因数都有你自己DIY。格式1: s

2012-11-01 15:39:16 2067

基于MFC实现简单的绘图

基于MFC实现简单的绘图,包括圆、椭圆、三角形、直线等简单的图形。在编写的过程中,主要熟悉MFC的DOC-VIEW机制。

2012-04-25

高斯函数、龙贝格算法、梯形算法的实现

完成了一点高斯函数、两点高斯函数、龙贝格算法、梯形算法的实现。环境是VS2008,基于控制台的可以和用户进行简单交互的程序。

2012-04-25

拓扑排序的实现

数据结构中拓扑排序的实现,基于控制台的输出,环境是VS2008.

2012-04-25

Huffman编码

1、借助Huffman树,实现Huffman编码,能够压缩和解压缩各种字符,包括中文; 2、实现了压缩的比例计算和和压缩性能分析,以及解压缩之后的文件与原文件的对比分析压缩的正确性; 3、实现过程中涉及了文件头和文件尾的处理,实现了堆的实现、Huffman的实现; 4、代码注释非常详细,尤其是Huffman编码和解码的流程以及解决方法的选择。

2012-04-25

求点关于直线对称点坐标的一种简便方法

求点关于直线对称点坐标的一种简便方法,绕过了求垂足的方法,直接求对称点坐标。形式简单,容易记忆。

2012-04-03

PHP最佳学习路线图

这个不用多说了,就是要学习PHP的计划和安排~很详细,足够你学几年的~

2012-03-18

Java最佳学习路线图

这个不用多说了,就是要学习Java的计划和安排~很详细,足够你学几年的~

2012-03-18

Asp.Net最佳学习路线图

这个不用多说了,就是要学习Asp.Net的计划和安排~很详细,足够你学几年的~

2012-03-18

C&C++优秀书籍

个人整理的C&C++的优秀书籍,也是网络上很多人推荐的书籍~ 书籍包括: 1、Effective C++(侯捷译 - 第三版).pdf; 2、Effective STL中文版(2001).pdf; 3、More Effective C++(中文版2000).pdf; 4、高质量 C&C++ 编程指南(2001).pdf; 5、深度探索C++对象模型.pdf; 6、Visual C++ 6.0程序员指南.pdf; 7、VisualC++MFC入门教程.chm; 8、MFC深入浅出李进久.chm; 9、WINDOWS核心编程.chm;

2012-03-18

精通Qt4编程

本书详细介绍了qt的基础知识和gui编程应用,举例翔实,内容全面,基本涵盖了qt编程的各个方面。全书共分3篇25章,包括qt gui编程的基础知识(对话框、基础窗口部件、程序主窗口、布局管理)、中级编程(2d绘图、拖放操作与剪贴板、文件处理、网络编程、多线程、事件机制、数据库及qt风格)和高级应用(xml应用、模型/视图结构、高级绘图、进程间通信、qt插件和脚本应用、多媒体、浏览器、动画及状态机等)。同时,在相关章节也穿插了一些重要的知识点,包括元对象系统、属性系统、对象树机制、信号/槽机制等。

2012-03-18

Qt Model View框架

Qt中的Model和View的框架的详细描述~

2012-03-18

Qt 类层次结构图

Qt 4.2 的类层次结构图~最近在用Graphics View框架,所以看这个思路和结构清晰多了~

2012-03-18

acis在vc6.0下的配置

讲述acis系统在vc6.0环境下的配置。

2011-10-08

ACIS基础培训课程

共3个ppt,这是第一个,主要讲述了acis概述、主要功能、组织架构、scheme语言等。

2011-10-08

ACIS系统简介

讲述了acis系统的整体架构,模型的B-rap边界表示法,包含的几何信息和拓扑信息及其对应的几何类和拓扑类。适合acis初学者和对acis系统架构、模型的几何信息和拓扑信息等概念模糊不清的研究人员。

2011-10-08

Avi-Bmp源码 实现avi视频文件和Bmp图片序列之间的转换

基于MFC的对话框,实现avi视频文件转换为bmp图片序列,和bmp图片序列转换为avi文件的功能。

2011-05-10

AVIGenetator 源码 视频压缩和解压缩

基于VC++6.0环境下的MFC,能产生压缩的avi视频文件。整个框架已经写好了,也可以增加自己的代码。

2011-05-10

局域网技术(包括计算机网络的基础知识和局域网技术)

详细讲解了计算机网络的基础知识,又在此基础上详细讲解局域网技术,适合于初学者和想深入了解局域网技术的同学。

2010-06-25

Linux入门安装命令技巧等

讲解了Linux入门,安装,命令等,共六章!

2009-10-28

查找算法的多种方法的源文件集合

主要是查找的算法及其实例,如,折半查找,还有二叉排序树等。查找是软件设计中的最常用的运算,查找所涉及到的表结构的不同决定了查找的方法及其性能。二分查找是顺序表的查找中的最重要的方法,通过这些程序的运行,能充分理解其实现方法和有关性能,并能借助其判定树结构来加深理解。

2009-06-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除