- 博客(5)
- 资源 (1)
- 收藏
- 关注
原创 拨开自定义operator new与operator delete的迷雾
C++允许用户通过自定义operator new和operator delete的方式来更改new与delete表达式的某些行为,这给了程序员定制内存管理方案的自由。但是享受这种自由的时候必须遵守一定的规范,具体可以参见《Effective C++ 2nd》的相关条款。本文补充解释一些特别容易引起误解的问题。 operator new和operator delete都有其正规形式
2004-11-23 19:36:00
3098
原创 学到的一个宏技巧
最近看到孟岩的一篇文章介绍了一个C语言的宏定义技巧,觉得颇有价值。宏定义如下:#define RETURN switch(Exception_stack = / Exception_stack->prev,0) default: return 看得出这是定义了一个实现C中return功能的宏RETURN,但它保证了在return之前一定会执行Exception_stack =
2004-11-13 21:12:00
3906
9
原创 我看C++/CLI和.NET
最近C++/CLI成了国内程序员关注的焦点,原因是它的开发人之一Stan Lippman来中国开技术大会并全力推介它,而且《程序员》杂志刊登了孟岩老兄对此人的专访,于是软件界一时群情激昂、人声鼎沸,各种说法也是不绝于耳。此专访的节选被放在孟岩自己的BLOG上,后头跟贴相当多(恐怕有上百条),不少人流露出对C++/CLI的反感甚至鄙夷,更有过火者对Stan Lippman本人也是大肆挞伐,说
2004-11-12 13:55:00
2628
6
原创 整型表达式比较的潜在危险
在程序里头经常会用到整数之间的大小比较,但是其中潜在的危险却往往被忽略了。例如一个内存拷贝函数:void memcpy(void *pTo,void *pFrom,size_t size){ assert(pTo != NULL && pFrom != NULL); while( --size >= 0) { *pTo++ = *pFrom++; }}
2004-11-09 20:36:00
2848
1
原创 C/C++中数组名的含义
C/C++中的数组名是个很奇怪的东西,它到底代表什么呢? 对于char array[n](n是一个常数),大概有这么几种语义: char* const(注意不是const char*) char [n] 举例如下(WIN2000 PRO平台,VC.NET 7.1下编译): char *p = array; //array表示char* const,p得到的
2004-11-03 01:29:00
4918
5
你好,Haskell!
2011-04-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人