C++

C++ 中的全局常量

T1616
0
前些天偶然注意到项目的头文件里定义了大量全局常量,也就是类似 const int foo = 5 这种。这些常量,有些是简单的数值型,但大部分是 CComBSTR、std

一个有趣的Bug

T374
0
今早一到公司,就看到隔壁组一堆人在讨论一个 Bug,足足半个多小时没有结果。人散了以后,一位同事找我帮忙看一下,发现是因为一个函数被递归调用导

多线程中的单件模式

T1119
0

单件模式可能是所有设计模式中最简单的一个了,但在 C++ 中,尤其是还要支持多线程的话,要想写一个正确的实现却并不容易。

C++/CLI的用途

T692
0
作为一个有着正常审美观的人,我简直无法忍受 C++/CLI(以及 managed c++)的丑陋。不过,近来发现,这个丑东西也还有点用,在把原生开发接口包装成

_tfopen 指定文件编码后程序崩溃

T281
0
vs05 和 08 的 CRT 增加了一点功能,使用 fopen/_wfopen 时可以指定文件的编码,但我发现这个功能好像有很多 bug, 会导致程序崩溃。我是使用下面的形式打开文件的: TCHAR buf[1024]; FILE* fp = _tfopen(

extern "C"

佚名
T1398
0
原文 本以为很简单,仔细阅读了一下 C++ 标准,发现内容还不少。总结了一下。 要点:函数类型,函数名,变量名具有语言链接性,language linka

发布一个小程序(围棋方面的)

T246
0
昨天整理家当时想起来的,从最早开始写到现在已经将近 10 年了,最后一次修改也是 7 年前的事了,发上来做个纪念吧。很多地方实现的很难看,但对初学者应

不要定义原型相同但实现不同的同名内联函数

T492
0
最早是在下面的程序中发现的问题: // a.cpp struct foo { void bar(){printf("foo::bar in a.cpp\n");} }; void testa() { foo f; f.bar(); } // b.cpp struct foo { void bar(){printf("foo::bar in b.cpp\n");} }; voidtestb() { foo f; f.bar(); } // main.cpp int main(int argc, char** argv) { testa(); testb(); return 0; }; 结果我发现这个程

C/C++中的序列点

佚名
T5618
0
原文链接 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 定义如下

sizeof 的计算

T1585
0
论坛上经常有人问某个结构体的大小为什么与他预计的不一致,对特定问题,我肯定能回答出来;但要从总体上说出个子丑寅卯,我就不行了。今日闲来无事,