原文链接 0. 什么是副作用(side effects) C99 定义如下: Accessing a volatile object, modifying an object, modifying a file, or calling a function that does any of those operations are all side effects, which are changes in the state of the execution environment. C++ 2003 定义如下
这两天有点焦头烂额,我们这边运行的好好的程序,到了测试的机器上就不能启动(是根本运行不了,而不是运行出错),弄得我异常郁闷。经过了一番摸索,
与《windows核心编程》上的那个相比最大的优势是体积小,它只有四个字节(《windows核心编程》上的那个至少是它的10倍),如果你有大
论坛上经常有人问某个结构体的大小为什么与他预计的不一致,对特定问题,我肯定能回答出来;但要从总体上说出个子丑寅卯,我就不行了。今日闲来无事,
毫无疑问,引用计数是一种非常有效的动态控制对象生命周期的机制。我们最熟悉的引用计数实现可能就要数 COM 的 AddRef 和 Release 了。但这种机制也有明显的缺点,那就
本文将不定期更新,记录个人所犯之常识性错误。 数组参数的体积(2006.10.08) void foo( char bar[100] ) { printf( "%d ", sizeof(bar) ); } 一直认为输出应该是100,但实际却
希望大家没有被这么拗口的标题吓到:)。 本文源于论坛上的这个问题: struct base { void foo() { cout << "base::foo" << endl; } virtual void bar() { cout << "base::bar" << endl; } }; struct derived : base { virtual void bar() { cout << "derived::bar" << endl; }
大家把 NTFS 分区上的文件拷贝到非 NTFS 分区上时,可能偶尔遇到过下面的情况,系统提示会有数据丢失,这是怎么回事呢? 实际上 NTFS 文件系统引入了“流”这个概念
互锁函数是多线程处理中最简单高效的手段之一,但这些函数的功能实在是太差劲了,要求稍微复杂一点,就完成不了。比如 if( n > 100 ) n++; 这么简单的功能,它
一篇胡思乱想之作。