C++0x能不能在09年发布?

  搞定了pFind里程碑,放松下来踅摸踅摸天下大势。有段时间没跟进C++0x的进展,今天上网搜索了一下,整理出来。

  C++委员会6月份刚刚在法国的Sophia Antipolis举行了会议(WG21)。会议的最大成果是确定了C++0x发布时间,漫长的投票表决过程总算接近结束。今年9月将提交委员会草案,以便公众审阅和反馈,进入ISO程序。Herb Sutter强调,9月的委员会草案就是”feature-complete C++0x“,以后的修改仅仅是bug修正和澄清。希望C++0x的这个“x”是9,而不升到A。

  技术细节上,这次会议有两个最主要的features通过投票:

  首先是传说中的Initializer lists提案(N2672  N2679),以后可以用更直观的方式初始化STL容器了:

     vector<string> v = {“xyzzy”, “plugh”,  “abracadabra” };
     map<string,string> phonebook =
          { { “Bjarne Stroustrup (cell)”, “+1 (212) 555-1212″ },
             { “Tom Petty (home)”, “+1 (858) 555-9734″ },
             { “Amy Winehouse (agent)”, “+44 99 74855424″ } };

  第二项是thread_local( N2659 )。经过近一年来的几次投票,并行机制的内存模型、原子操作和线程包装的多项提案都已经通过投票,这大概是C++0x最重要的变化。

  其实每次都会投票通过几十个features,只不过大多数没引起注意,比如我无意瞅到了一项07年获得通过的提案,是Herb Sutter代表微软提交的空指针关键字nullptr (N2431) ,这就可以用nullptr替换VC++下的NULL宏,免得每次往gcc下移植都得手工加入。

  这次唯一留的尾巴,大名鼎鼎的conceptsN2081),仍在等待“check in”。按照Herb Sutter的说法,这方面争议基本解决。9月份的San Francisc会议只要就此投票,即可扫清最后障碍,发布标准草案。 

  以上信息都依据网上来源:Bjarne Stroustrup的C++0x概述报告slices,Google的Lawrence Crowl对线程模型的报告slices, MS的Herb Sutter的BLOG、CodeGear的Alisdair Meredith的BLOG。他们都是委员会成员。另外我还找到一个旁听会议的Java程序员的BLOG,由于视角不同,难免有不少比较,比如C++委员会与JCP的异同。当然,你也可以参考正式、全面但枯燥的会议记录

2 thoughts on “C++0x能不能在09年发布?

  1. Pingback: joyfire 王乐珩 » 《The Beatles 1》和《再袭面包店》

  2. Pingback: joyfire 王乐珩 » 《寻羊冒险记》和C++0x

Leave a Reply

Your email address will not be published. Required fields are marked *