
C++
文章平均质量分 78
aa2010aa
这个作者很懒,什么都没留下…
展开
-
当心潜在的二义性
在《Effective C++》中有一篇《当心潜在的二义性》。 这是潜在二义性的一个例子: class B; // 对类B提前声明 // class A {public: A(const B&); // 可以从B构造而来的类A};class B {p原创 2009-11-29 15:45:00 · 488 阅读 · 0 评论 -
c++ float类型研究
在C++中float数据类型是采用科学计数法来表示的,就像下面这样: 其中S位符号位,占一位的二进制数,1为正,0为负,T为底数,按二进制数存储,占23位,E为指数部分,占8位。结构如下: float 在内存中是按逆字节的存储的:其中尾数是这样的形式:1.T1T2T3...T23。转换为十进制的数: 因为指数可以是负数,c++指数部分按原来原创 2009-12-10 22:24:00 · 9067 阅读 · 1 评论 -
编程中的命名设计
在我开始设计系统的时候,我会花去很多时间去设计命名,因为好的命名和好的设计是分不开的。In the beginning was the Word, and the Word was with God, and the Word was God太初有道。道与神同在,道就是神。 (约翰福音第一章,第一节)在设计过程中给类,方法和函数好的命名会带来好的设计,虽然这不是一定成立,但是如果坏转载 2009-12-11 09:37:00 · 487 阅读 · 0 评论 -
字符串匹配算法-有限状态机
下面是字符串匹配算法-有限状态机的简单实现。 //产生字符串P的有限机,void X(const string P, int (*prefix)[26]){ int m = P.length(); for(int q = -1; q < m; q++) { for(int j = 0; j < 26; j++) { int k = m <原创 2009-12-13 21:44:00 · 3662 阅读 · 1 评论 -
C语言的谜题
本文转摘自http://coolshell.cn/?p=945; 我们可以看到很多C语言相关的一些东西。比如《语言的歧义》主要告诉了大家C语言中你意想不到的错误以及一些歧义上的东西。而《谁说C语言很简单》则通过一些看似你从来不可能写出的代码来告诉大家C语言并不是一件容易事情。《6个变态的hello world》和《如何弄乱C的源代码》则以一种极端的方式告诉大家,不要以为转载 2009-12-07 21:55:00 · 545 阅读 · 0 评论 -
selfnumbers查找的实现与分析
今天有一个高中的同学在网上问了我一到ACM的题,是关于找selfnumbers数的,要求运行时间至少要是O(nlog(n)),空间要比O(n)要小。立马我就上wikipedia网查一下,关于selfnumbers的定义和有关数学的解法(没办法啊,咱数学功底还没那么厚,只能站在巨人的肩膀上,^_^)。O(∩_∩)O哈哈~,wikipedia还真伟大啊,还真有。我摘抄了一部分:(http://原创 2009-12-02 18:17:00 · 1157 阅读 · 0 评论 -
c++的转换
C++区分了5种匹配:1.匹配中不转换或者只使用不可避免的转换(例如,从数组名到指针,函数名到函数指针,以及T到const T)2.使用了整数的提升的匹配:(从char 到 int, short 到int , 以及 它们对应的unsigned 类型)以及float 到double,还有一个就是 bool到int。3.使用了标准转换的匹配(例如 int到double, derived原创 2009-12-03 19:22:00 · 505 阅读 · 0 评论 -
随机数产生原理及应用(再续二)
在网上找到了一个产生随机数的函数,没有种子。直接就可以用,但有个坏处,就是每次运行结果都一样。 程序如下: unsigned int Random32(void) { static const unsigned long x[55] = { 1410651636UL, 3012776752UL, 3497475623UL, 289214502原创 2009-11-30 19:14:00 · 458 阅读 · 0 评论 -
itoa的具体实现、测试和优化
今天看到有人在百度知道提问:要写一个itoa的函数(仿c语言的)。看了一下,以前做过,也就随手写了。我把代码发出来,献丑了。inline void myitoa(int value, char *str, int radio = 10){ char *p = str; char *ptemp; unsigned int temp = value; char tempc;原创 2009-12-01 18:26:00 · 875 阅读 · 0 评论 -
字符串匹配算法-kmp
int Compare(string P, int *prefix){ int m = P.length(); prefix[0] = -1; int k = -1; for(int i = 1; i < m; i++) { while(k >= 0 && P[k + 1] != P[i]) k = prefix[k]; if(P[k + 1] == P原创 2009-12-13 21:30:00 · 678 阅读 · 0 评论