书法字典:https://www.shufadict.com

2010年7月7日

为什么static成员必须在类外初始化

摘要: 为什么静态成员不能在类内初始化在C++中,类的静态成员(static member)必须在类内声明,在类外初始化,像下面这样。class A{ private: static int count ; // 类内声明};int A::count = 0 ; // 类外初始化,不必再加static关键字为什么?因为静态成员属于整个类,而不属于某个对象,如果在类内初始化,会导致每个对象都包含该静态成员,这是矛盾的。什么东西能在类内初始化能在类中初始化的成员只有一种,那就是静态常量成员。这样不行class A{ private: static int count = 0; // 静态成... 阅读全文

posted @ 2010-07-07 11:36 翰墨小生 阅读(15357) 评论(5) 推荐(2) 编辑

2010年7月5日

拷贝构造函数

摘要: 什么是拷贝构造函数拷贝构造函数是一种特殊的构造函数,它的形式如下。struct Test{ Test() { } Test(const Test& other) // 拷贝构造函数 { cout << "Copy constructor" << endl ; }};什么情况下调用拷贝构造函数以下几种情况会调用拷贝构造函数。以一个对象初始化另一个对象函数以某个对象为参数函数返回某个对象初始化序列式容器的元素struct Test{ Test() { } Test(const Test& other) { ... 阅读全文

posted @ 2010-07-05 21:40 翰墨小生 阅读(1243) 评论(0) 推荐(1) 编辑

正确使用STL-MAP中Erase函数

摘要: 一切尽在代码中。#include <iostream>#include <map>#include <string>using namespace std ;int main(void) { map<int, string> m ; m.insert(pair<int, string>(1, "abc")) ; m.insert(pair<int, string>(2, "def")) ; m.insert(pair<int, string>(3, "def&q 阅读全文

posted @ 2010-07-05 08:38 翰墨小生 阅读(12725) 评论(2) 推荐(1) 编辑

2010年7月4日

C++ 初始化列表

摘要: 与其他函数不同,构造函数除了有名字,参数列表和函数体之外,还可以有初始化列表,初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段。在C++中,struct和class的唯一区别是默认的访问性不同,而这里我们不考虑访问性的问题,所以下面的代码都以struct来演示。 构造函数的执行可以分成两个阶段 阅读全文

posted @ 2010-07-04 16:59 翰墨小生 阅读(124787) 评论(41) 推荐(41) 编辑

2010年6月21日

算法-求二进制数中1的个数

摘要: 问题描述任意给定一个32位无符号整数n,求n的二进制表示中1的个数,比如n = 5(0101)时,返回2,n = 15(1111)时,返回4这也是一道比较经典的题目了,相信不少人面试的时候可能遇到过这道题吧,下面介绍了几种方法来实现这道题,相信很多人可能见过下面的算法,但我相信很少有人见到本文中所有的算法。如果您上头上有更好的算法,或者本文没有提到的算法,请不要吝惜您的代码,分享的时候,也是学习和交流的时候。普通法我总是习惯叫普通法,因为我实在找不到一个合适的名字来描述它,其实就是最简单的方法,有点程序基础的人都能想得到,那就是移位+计数,很简单,不多说了,直接上代码,这种方法的运算次数与输入 阅读全文

posted @ 2010-06-21 15:00 翰墨小生 阅读(140363) 评论(62) 推荐(44) 编辑

2010年6月7日

DirectX常见编译错误及解决办法

摘要: 常见的编译错误及解决办法1. fatal error LNK1104: cannot open file 'largeint.lib'直接删除对largeint.lib的引用即可2. fatal error CVT1100: duplicate resource. type:MANIFEST, na... 阅读全文

posted @ 2010-06-07 17:19 翰墨小生 阅读(7086) 评论(2) 推荐(0) 编辑

用if语句表达区间分支

摘要: 常见的写法-显示列出所有条件简略法-后一个条件隐含包含了前一个条件,与前者相比,每个分支(最后一个除外)省了一次判断操作,但是可读性稍差,凡事有一利必有一弊呀! 阅读全文

posted @ 2010-06-07 15:34 翰墨小生 阅读(2672) 评论(0) 推荐(1) 编辑

2010年6月5日

趣味编程-螺旋打印

摘要: 描述给定一个自然数n,打印1-n之间所有的数,要求:按螺旋形状顺时针打印。以前看到过这道题,说的是从外向内螺旋打印,而前几天又看到一个变种,由内向外打印。比之前的稍微难一点,趁周末闲着没事,总结一下。先上两幅图,大家看一下效果。由外向内打印由内向外打印这两种输出方法,其实大同小异,道理都差不多,会了一种,则另一种不难,先看从外向内打印的分析最简单且直观的方法就是k * k的二维数组存储数字,先将数字按照要求填入数组,然后输出整个数组即可分配数组对于n个数而言,令k = Ceil(sqrt(n)), 则分配k*k的二维数组即可。比如n = 5时,分配3*3的数组即可。如何填数起始点以左上角为起始 阅读全文

posted @ 2010-06-05 20:20 翰墨小生 阅读(5796) 评论(11) 推荐(2) 编辑

2010年6月2日

VS使用技巧

摘要: 文本编辑按住Alt键并拖动鼠标进行竖向选择。您是否有过以下经历?将所有关键字从public该为private,从网页上copy代码到VS中,发现line number也被copy进来了。如果你以前是手动一个一个修改的,那么你应该记住这个窍门了,它会节省你很多时间。当前行编辑不必选择即可在光标所在行进行,复制,粘贴或剪切等操作不可否认,我身边很多人不知道这个窍门,你呢?乱码问题一是在VS的tools... 阅读全文

posted @ 2010-06-02 16:36 翰墨小生 阅读(779) 评论(0) 推荐(0) 编辑

Windows命令-待完善

摘要: 批量结束进程taskkill /f /im excel.exe网络断开ipconfig /release重新连接ipconfig /renew文件操作拷贝将\\path目录下所有扩展名为.dat的文件拷贝到本机c:\test目录下,如果存在则覆盖。copy \\path\*.dat c:\test\ /y系统锁屏 Win + L回到桌面 Win + DIE关闭窗口 Ctrl + W 阅读全文

posted @ 2010-06-02 14:41 翰墨小生 阅读(561) 评论(0) 推荐(0) 编辑

正则表达式-问号的四种用法

摘要: 原文符号因为?在正则表达式中有特殊的含义,所以如果想匹配?本身,则需要转义,\?有无量词问号可以表示重复前面内容的0次或一次,也就是要么不出现,要么出现一次。非贪婪匹配贪婪匹配在满足匹配时,匹配尽可能长的字符串,默认情况下,采用贪婪匹配string pattern1 = @"a.*c"; // greedy match Regex regex = new Regex(pattern1);regex.Match("abcabc"); // return "abcabc"非贪婪匹配在满足匹配时,匹配尽可能短的字符串,使用?来表示非贪婪匹配 阅读全文

posted @ 2010-06-02 09:18 翰墨小生 阅读(108678) 评论(11) 推荐(13) 编辑

2010年6月1日

STL-set

摘要: 简介set是一种随机存储的关联式容器,其关键词(key)和元素(value)是同一个值。set之中所有元素互不相同。set是通过二叉查找树来实现的。创建创建一个空的set 1: set s0 ;创建一个带大于比较器的set, 默认是小于比较器less 1: set> s1 ;用数组初始化一个se... 阅读全文

posted @ 2010-06-01 22:23 翰墨小生 阅读(12225) 评论(2) 推荐(3) 编辑

一道数论题目

摘要: 题目有100盏灯,编号1-100,初始时都是亮着灯。有一百个小孩,编号1-100。每盏灯对应一个开关,按下时灯亮,再按则灯灭。让这一百个小孩依次按开关,每个小孩只能按其编号倍数的开关。比如1号小孩可以按所有开关,2号小孩只能按编号为偶数的开关,以此类推。请问所有的小孩都按过开关以后(注意:每个小孩都必须按下所有他能按下的灯),哪些灯是亮着的?答案编号为平方数的灯是亮着的,1, 4, 9, 。。。 100。分析对于任意一盏灯的开关,如果被按了奇数次,那么最终它是亮着的,哪些灯的开关会被按奇数次呢?假设某一盏灯的编号为n,如果n有奇数个约数,那么这盏灯将被按奇数次。对于任意一个正整数n,它的约数都 阅读全文

posted @ 2010-06-01 18:01 翰墨小生 阅读(657) 评论(7) 推荐(0) 编辑

2010年5月21日

关于清单文件

摘要: 来自网上,在此感谢作者。 那么到底什么是 .manifest 文件呢?他有什么用,以前为什么没有?后来,经过艰苦努力,终于得知,原来这一切都是Windows 的Assembly Manifest搞的鬼。这个东东的作用就是为了解决 以前windows上的“Dll 地狱” 问题才产生的新的DLL管理解决方案。大家知道,Dll是动态加载共享库,同一个Dll可能被多个程序所使用,而所谓“Dll 地狱”就... 阅读全文

posted @ 2010-05-21 10:50 翰墨小生 阅读(2243) 评论(0) 推荐(0) 编辑

2010年5月20日

Visual Studio Auto-expand Information for DirectX 9

摘要: The original page of this article is: http://www.inframez.com/papers/d3d_autoexp.htm Visual Studio comes with a nice debugging feature called Auto-expand. With this feature, you are able to inspect im... 阅读全文

posted @ 2010-05-20 09:26 翰墨小生 阅读(446) 评论(0) 推荐(1) 编辑

Error Checking in DX

摘要: from http://nexe.gamedev.net/directKnowledge/default.asp?p=Debugging When you're trying to find out why a specific function is failing - and the debug output isn't helping - you need to work with retu... 阅读全文

posted @ 2010-05-20 09:04 翰墨小生 阅读(637) 评论(0) 推荐(1) 编辑

2010年5月19日

算法-求一个二进制数的长度

摘要: 任意给定一个32位无符号整数n,求其对应的二进制数长度。先举几个例子解释一下什么是二进制数的长度,比如8 = 1000,则长度是4, 7 = 0111,长度为3。所以一个二进制数的长度也即最高位1的下标值+1(下标从0开始)。题目很简单,下面提供三种方法普通方法递归法二分搜索+查表普通法移位+计数,每移位一次,计数器加1,直到n为0int BitLength(unsigned int n){ int c = 0 ; // counter while (n) { ++c ; n >>= 1 ; } return c ;}运算次数,如果n的二进制长度为k,那么共有k次循环,最多循环32 阅读全文

posted @ 2010-05-19 15:32 翰墨小生 阅读(11634) 评论(15) 推荐(4) 编辑

2010年5月18日

解决代码中多余的空行

摘要: 有时候VS代码文件在网页中显示时会多出许多空行,比如上传到google code上的文件,有时候会出现这种情况,形如: if(n <= 0) return ; else { int i = x; int j = y ; 这是由于源文件的编码格式不当造成的,可以重新保存源文件为适当的编码格式,比如 UTF-8 with signature格式,方法如下 File-Save xxx as-... 阅读全文

posted @ 2010-05-18 22:22 翰墨小生 阅读(804) 评论(0) 推荐(2) 编辑

Visual Studio中删除所有空行

摘要: 此文转载自博客园,原文链接:http://www.cnblogs.com/k-sharp/archive/2010/05/18/1738264.htmlEnter: Ctrl+H Find what: ^:b*$\n Replace with: [Empty] Look in: Current Document Find Option: Use Regular Expressions Click:... 阅读全文

posted @ 2010-05-18 22:12 翰墨小生 阅读(7245) 评论(0) 推荐(3) 编辑

First Chance Exception

摘要: When you run DX program in debug mode and enable debug setttings in DX control panel, you may get the First Chance Exceptions, like the following: First-chance exception at 0x75ac9617 in Sura.exe: Mic... 阅读全文

posted @ 2010-05-18 17:15 翰墨小生 阅读(5264) 评论(0) 推荐(1) 编辑

2010年5月17日

rendering order of skybox

摘要: if you program involve a skybox, you’d better render it first, since other object may need blending, if you render these objects before the skybox, you object will not show the correct order like code... 阅读全文

posted @ 2010-05-17 11:00 翰墨小生 阅读(486) 评论(0) 推荐(0) 编辑

2010年5月7日

Build OGRE with CMake

摘要: Make sure you have downloaded, extracted and built the dependencies packageDownload CMake. You want the 'Win32 installer' release in the binary distribution sectionRun the CMake installer, install wherever you likeLaunch CMake via Start > Program Files > CMake 2.8 > CMakeIn the &quo 阅读全文

posted @ 2010-05-07 18:45 翰墨小生 阅读(1086) 评论(0) 推荐(0) 编辑

2010年5月3日

声音走样

摘要: 用DirectSound播放声音时发生声音走样,和MediaPlayer播放的效果完全不同,搞了半天,发现原来是声音的采样频率不同所致// insert picture再查看了声音文件的属性以后,应该正确的填充WAVEFORMATEX结构,只有这样才能正确的播放声音文件WAVEFORMATEX wfx; // Set up WAV format structure. memset(&wfx... 阅读全文

posted @ 2010-05-03 22:33 翰墨小生 阅读(487) 评论(0) 推荐(0) 编辑

2010年5月1日

注意变换的顺序

摘要: 注意一下三种变换的顺序 平移,旋转,缩放 下面的代码可以正常显示模型 // Set scalem_pWeapon->SetScale(0.01f, 0.01f, 0.01f) ; // Set positionm_pWeapon->SetPosition(0.0f, 15.0f, 0.0f) ; 而下面的代码却什么都不显示 // Set positionm_pWeapon->S... 阅读全文

posted @ 2010-05-01 20:53 翰墨小生 阅读(583) 评论(0) 推荐(0) 编辑

关于D3D中的颜色

摘要: 1. 当模型自带颜色时,使用白色光照即可显示出模型的本色,如果禁用光照,那么模型就是黑色2. 当模型自带颜色时,要通过设置Material来设置模型的颜色,然后用白色光照之即可代码Code highlighting produced by Actipro CodeHighlighter (freew... 阅读全文

posted @ 2010-05-01 20:06 翰墨小生 阅读(857) 评论(0) 推荐(0) 编辑

2010年4月28日

Terrain

摘要: 1. To create a flat terrain, just set the y coordinate to 0 2. The vertices in D3D must be defined in clockwise order. see the picture below so, when you specify the two triangles, you should say, (v... 阅读全文

posted @ 2010-04-28 16:22 翰墨小生 阅读(597) 评论(0) 推荐(1) 编辑

2010年4月20日

Printf(“%d”)

摘要: What’s the output result of the following code snippet? char foo() { unsigned int a = 6; int b = -20; char c; printf("%d ", a + b); (a + b > 6) ? ( c 阅读全文

posted @ 2010-04-20 09:16 翰墨小生 阅读(924) 评论(0) 推荐(0) 编辑

2010年3月28日

与二进制有关的几道面试题

摘要: 这个是在博客园的博问里面看到的1、现有1000个苹果,10个盒子,现在要你将1000个苹果装入10个盒子中,使得用户无论购买多少个苹果(1-1000),都能由若干个盒子拼装而成(卖的时候是整个盒子卖,不能拆盒子的包装)解法:考虑1, 2, 4, 8这四个数,由这四个数可以组成1-15之间任意一个数,也即1,2, 4 ... 2n 可以组成1-2(n+1)-1之间所有的数。所以这十个盒子分别放入1, 2, 4, 8, 16, 32, 64, 128, 256, 489个苹果,即可组成1-1000内所有的数。2. 有1000瓶液体,无色无味,外表完全一样,其中一瓶是毒药,有10条警犬,警犬喝过毒药 阅读全文

posted @ 2010-03-28 21:36 翰墨小生 阅读(1592) 评论(2) 推荐(0) 编辑

2010年3月27日

素数环-谈代码优化

摘要: 昨天在博问里面看到的一道算法题,原题如下:给出一个N(01//Isnprime?2boolIsPrime(intn)3{4for(inti=2;i*i1voidPrimeCircle(inta[],intn,intt)2{3if(t==n)4{5Output(a,n);//找到一个解6}7else8... 阅读全文

posted @ 2010-03-27 17:10 翰墨小生 阅读(4623) 评论(6) 推荐(3) 编辑

2010年3月20日

解决VS中注释乱码的问题

摘要: 使用VS编写程序,经常会有中文注释,拿到另外一些系统上却发现注释变成了乱码,这一般是由于编码格式不当造成的,下面给出解决方案1. 首先打开VS2008,选择Tools-Option-Text Editor-Settings,将Auto detect UTF-8 encoding without signature 勾上,如果问题解决,OK2. 如果问题没有解决,那么用VS打开含有乱码的源文件,选择... 阅读全文

posted @ 2010-03-20 10:38 翰墨小生 阅读(24249) 评论(0) 推荐(2) 编辑

2010年3月19日

输出循环小数

摘要: 刚刚在博客园看到的一个题,写出来,留作备份,两个整数a和b,输出他们的商,循环小数要加括号。example:1/3 输出 0.(3)2/8 输出 0.2523/6 输出 3.8(3)思路:两个数组,一个存储商,一个存储余数,前者用于检查余数是否重复出现,后者用来输出小数部分。1. 能整除的直接输出2. 否则,一直除,直到余数为0或者余数重复出现。输出所有的小数部分即可,两次余数出现之间的加上括号代... 阅读全文

posted @ 2010-03-19 11:42 翰墨小生 阅读(860) 评论(2) 推荐(0) 编辑

2010年3月14日

扑克牌概率

摘要: 一副扑克牌,去除大小王,剩下52张,从中任意取两张,能成一对的概率是多大?解法一:52张牌任选两张,共有C(2, 52) = (52×51)/ 2×1 = 1326种组合同一点数的4张牌任选两张,有C(3, 4) = 6种组和,而一副牌有13种点数,所以成一对的组合有6×13 = 78种那么,52张牌任选两张成一对待概率是78/1326 = 1/17解法二:我们先计算... 阅读全文

posted @ 2010-03-14 22:59 翰墨小生 阅读(11991) 评论(5) 推荐(0) 编辑

2010年3月12日

反转一个整数

摘要: 原型:unsigned Reverse(unsigned int n) ;我的代码:用了浮点函数log10, pow不仅效率低,还会损失精度。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1unsignedReverse(unsignedn)2{3intdigits=(int)log10((double)n);45intr=0;6while(n)7{8intt=n%10;9r+=t*pow((double)10,digits--);10n/ 阅读全文

posted @ 2010-03-12 17:35 翰墨小生 阅读(2281) 评论(0) 推荐(0) 编辑

一道概率题-From VCK 小白

摘要: 题目描述:一个随机函数f(),只返回1和0,返回1的概率是p,返回0的概率是1-p,构造另外一个函数,只返回1和0,概率各1/2答案,有代码有真相Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.Co... 阅读全文

posted @ 2010-03-12 09:08 翰墨小生 阅读(518) 评论(0) 推荐(0) 编辑

2010年3月9日

基于时间的渲染框架

摘要: 下面是一个基于时间的渲染框架代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1//Getlasttime2staticfloatlastTime=(float)timeGetTime();34while(msg.message!=WM_QUIT)5{6if(PeekMessage(&msg,NULL,0U,0U,PM_REMOVE)!=0)7{8TranslateMessage(&msg);9DispatchMessage 阅读全文

posted @ 2010-03-09 11:31 翰墨小生 阅读(521) 评论(0) 推荐(0) 编辑

2010年3月8日

两个面试题-仅供娱乐,切勿模仿

摘要: 代码包括两个题1. 返回两个int型数中的较大者,不准用关系运算符,不准用if, while, for等语句2. 一句代码求字符串长度代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1#include<iostream>2usingna... 阅读全文

posted @ 2010-03-08 16:23 翰墨小生 阅读(747) 评论(0) 推荐(0) 编辑

Vector与数组的转化

摘要: 可以重载*运算符 1 operator float *(){ return &_x ;} ;2 operator const float *() const{ return &_x ; } ;3 仿照D3D库中的例子,写出如下代码 #include <iostream> using namespac 阅读全文

posted @ 2010-03-08 10:05 翰墨小生 阅读(10244) 评论(0) 推荐(0) 编辑

2010年3月5日

PAK file format

摘要: pak  以.pak结尾的文件是pak Quake系列游戏所采用的一种特殊压缩包格式,由Quake游戏公司开发,一般用户无法打开。  简单来说pak是一种少见的压缩文件格式;可以将多个文件压缩成一个文件,例如RAR将多个文件压缩成1个RAR文件。现在好多游戏的客户端都采用这种特殊的压缩包格式,以利于游戏的开发。由于是针对于游戏的设计和使用而采用的文件结构,所以与一般的压缩文件格式有所不同,它的特点... 阅读全文

posted @ 2010-03-05 10:42 翰墨小生 阅读(1044) 评论(0) 推荐(0) 编辑

2010年3月4日

Creating and Using a Dynamic Link Library

摘要: Walkthrough: Creating and Using a Dynamic Link Library 原文链接:http://msdn.microsoft.com/en-us/library/ms235636(VS.80).aspxIn this walkthrough, you will create a dynamic link library (DLL) containing use... 阅读全文

posted @ 2010-03-04 17:23 翰墨小生 阅读(604) 评论(0) 推荐(0) 编辑

Creating and Using a Static Library

摘要: 原文链接-http://msdn.microsoft.com/en-us/library/ms235627(VS.80).aspxWalkthrough: Creating and Using a Static Library In this walkthrough, you will create a static library (LIB) containing useful routines... 阅读全文

posted @ 2010-03-04 17:04 翰墨小生 阅读(573) 评论(0) 推荐(0) 编辑

导航

书法字典:https://www.shufadict.com