C++/CLI 口水战,多位大师参与

原创 2006年03月28日 13:15:00

原文地址

这个口水战中,Herb Sutter, Andrei Alexandrescu, Walter Bright, David Abrahams, Francis Glassborrow, P.J. Plauger等C++大牛都发表了长篇大论。值得细看。有空我将要把我的感想贴上来。
PS:这帮人真是能说啊,看死了我了。另,我不是女的。

感想1:updated 2006-4-4
Herb Sutter在一个回帖中举了一个例子说明GC的必要性
 T *p1 = new T;
  ...
  T *p2 = p1;
  ...
  delete p1; // 1: run ~T and put the storage back on the free list
  ...
  U *p3 = new U; // 2: could reuse the same storage
  // here, the void* representations of p1 and p3 might be the same
  ...
  p2->Foo(); // 3: oops, type safety violation
这个例子中出现的访问已经释放的对象的情况并不少见。如果p3重新被分配在p1的空间,那么很可能以后的对p2的访问不会出现任何access violation错误,但是事实上那里已经不是你认为应该是的东西了。这类型的bug在后期的调试中会带来很大问题,因为编译器和调试器并不能帮你找出问题,只能靠自己一行一行的看。
Herb也举出了一些类似的问题,包括accessing still-existing but destroyed objects (析构已经调用,但是空间未释放), accessing freed memory where an object used to be, and accessing a new object with a pointer to an old object that used to be in the same location。他认为解决这类型问题的唯一途径就是GC。

 

  • -0001年11月30日 00:00
  • 5

IT痴汉的工作现状22-由Dalvik虚拟机引发的口水战

Dalvik是啥呢?从未知道冰岛有Dalvik这么一个重要的村庄,直到Dan Bornstein将自己为Android系统编写的进程虚拟机命名为Dalvik后才被我所知。它是Android系统独有的,...

c++多位整数加法

  • 2013年04月19日 15:55
  • 1KB
  • 下载

C++从键盘输入多位数数组进行排序

写了一个可以从键盘输入多位数数组进行排序的程序,发现了几个问题,这里记录下来最开始程序是这样的#include using namespace std; void main() { ...

Webpack中文社区正式成立-多位前端大牛参与解答开发难题

第一次转载文章 因为确实是个好消息,我觉得有必要推广一下╰( ̄▽ ̄)╭ 自己加了点东西2017年1月18日,webpack 2.2正式版本发布!webpack2新文档传送门 同一天,webpac...

STK X教程—C++/CLI源代码

  • 2013年03月26日 21:48
  • 134KB
  • 下载

TUP Masters第七期:C++大师Lippman论编程新范式Hugo

TUP Masters,作为TUP核心组成部分,专注于邀请对IT领域有着重大影响的世界级重量人物,请他们作技术分享。至今已成功举办六期,并在业界获得了良好的口碑。10月27日,TUP Masters第...

Manning.C++CLI.in.Action.Apr.2007

  • 2013年08月30日 15:44
  • 17.83MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++/CLI 口水战,多位大师参与
举报原因:
原因补充:

(最多只允许输入30个字)