- 博客(4)
- 资源 (3)
- 收藏
- 关注
转载 C++ volatile, explicite, mutable
1. volatile 有些变量是用volatile关键字声明的。当两个线程都要用到某一个变量且该变量的值会被改变时,应该用volatile声明,该关键字的作用是防止优化编译器把变量从内存装入CPU寄存器中。如果变量被装入寄存器,那么两个线程有可能一个使用内存中的变量,一个使用寄存器中的变量,这会造成程序的错误执行。 volatile的意思是让编译器每次操作该变量时一定要从内存中真正取出,
2011-11-14 15:44:40 1191
转载 c++ 零值比较
这是程序员面试的一道常见题,也是个C++基础问题。若只在大学里看过几本基础的编程入门书,看见这道题可能会觉得奇怪,不就是和0比较吗,直接拿出来比就是了,其实非也。下文引自google搜索结果,出处不详,高手可以无视,菜菜留下,记得做好笔记。 首先给个提示:题目中要求的是零值比较,而非与0进行比较,在C++里“零值”的范围可就大了,可以是0, 0.0 , FALSE或者“空指针”。 1).int
2011-11-13 15:46:14 2197
转载 字符串Hash函数
Hash查找因为其O(1)的查找性能而著称,被对查找性能要求高的应用所广泛采用。它的基本思想是: (1) 创建一个定长的线性Hash表,一般可以初始化时指定length; (2) 设计Hash函数,将关键字key散射到Hash表中。其中hash函数设计是最为关键的,均匀分布、冲突概率小全在它; (3) 通常采用拉链方法来解决hash冲突问题,即散射到同一个hash表项的关键字,以链表形式来表
2011-11-06 21:01:34 1313
转载 c++内存分布,代码段、全局数据区、栈、堆
声明两点: (1)开发测试环境为VS2010+WindowsXP32位; (2)内存布局指的是虚拟内存地址,不是物理地址。 1.测试代码 #include using namespace std; int g_int_a; int g_int_b; void f_1() { cout"I'm f_1"} void f_2() { cout"I'm f
2011-11-05 10:08:56 3116
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人