- 博客(11)
- 收藏
- 关注
原创 C++0x 走马观花:剩下没翻译的
8 See also ConceptGCC http://en.wikipedia.org/wiki/ConceptGCC9 参考 1 N2544 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf9.1 C++标准委员会的文件 ISO/IEC DTR 19768 (May 19, 2008) Doc N
2008-10-27 20:49:00 687
原创 C++0x 走马观花:C++标准库的改变
7 C++标准库的改变 大量新的特征被引入到C++0x的标准库里。其中许多都可以在当前标准下实现,然后有一些需要依赖新的C++0x核心语言特性。 新标准库的绝大部分定义在C++标准委员会于2005年发布的技术报告(TR1)(C++ Standards Committees Library Technical Report)里面。各种各样TR1的全部和部分的实现,现在可以通过名字空间st
2008-10-27 20:48:00 1281
原创 C++0x 走马观花:核心语言功能性的提升
6 核心语言功能性的提升 这些特征允许语言去做以前没法做到的,或者做起来异常麻烦的,或者需要不可移植的库的事情。6.1 变参模板 标准C++模板(类和函数)只能使用序列集合作为参数。而C++0x允许模板定义使用任意数量,任意类型的参数。 template class tuple; 这个模板类tuple使用任意数目的类型名字作为它的参数: class tuple,
2008-10-27 20:47:00 662
原创 C++0x 走马观花:核心语言可用性的增强
5 核心语言可用性的增强 这些特征存在的主要目的是便于语言更加容易地被使用。它们可以提高类型安全,最小化代码冗余,防止编程失误的出现,以及类似的情况。5.1 初始化列表 标准C++从C语言里面借用了初始化列表这个概念。也就是说一个结构或者数组可以依照成员变量定义顺序的参数列表进行创建。初始化列表还可以是嵌套的,所以结构体数组或者包含其他结构体的结构也可以使用初始化列表。这在静态链表或者仅
2008-10-27 20:45:00 796
原创 C++0x 走马观花:核心语言编译时性能增强
4 核心语言编译时性能增强4.1 外部模板 在标准C++里面,只要遇到一个完整的模板,编译器必须对它进行实例化,这显著地增加了编译时间,特别是模板使用相同参数在多个地方被实例化。没有办法告诉C++不要去实例化某个模板。 C++0x引入了外部模板这个主意。C++已经有语法可以强迫编译器去在一个特定位置去进行实例化: template class std::vector;
2008-10-27 20:35:00 428
原创 C++0x 走马观花:核心语言运行时性能增强
3 核心语言运行时性能增强 这些语言特征存在的目的是为各种性能的提升提供支持,包括内存或者速度。3.1 右值引用和move语法 在标准C++里面,临时变量(被称为右值,因为它们处于一个赋值语句的右边)可以被传递给函数,但是它们只能作为const&类型被接受。因此,对于一个函数而言是无法从形如const&类型的参数中区分出右值引用和一个常规的对象。而且由于类型是const&,也就无法改变
2008-10-27 20:34:00 684
原创 C++0x 走马观花:C++核心语言的扩展
2 C++核心语言的扩展 C++委员会的工作重点是核心语言的开发。C++0x的发布日期也依赖于标准这部分的进度。 核心语言中要被显著改进的部分包括多线程的支持,泛式编程的支持,统一初始化,以及性能的增强。 本文中,核心语言的特征和改变将被分成四小节:运行时性能增强,编译时性能增强,可用性增强以及新的功能。一些特征会在多个章节里面出现,但是仅仅在对应特征的章节里面做重点描述。
2008-10-27 20:32:00 470
原创 C++0x 走马观花:待定标准可能的变化
1 待定标准可能的变化 C++的改动同时涉及到核心语言和标准库。 在新标准各个功能的开发中,委员会采取以下的指导策略: - 与C++98,并且与C尽可能地保持稳定和兼容; - 尽量通过标准库的方式来引入新的特征,而不是扩展核心语言; - 变化应该革新编程技术; - 增强C++,使其能够进行系统和库的设计,而不是引入一些特征仅对特定的应用有用; - 通过提供比现在(不安全的技术)更
2008-10-27 20:30:00 563
原创 C++0x 走马观花:目录
目录1 待定标准可能的变化2 C++核心语言的扩展3 核心语言运行时性能增强 3.1 右值引用和move语法 3.2 通用的常量表达式 3.3 Plan Old Data(POD)定义的修正4 核心语言编译时性能增强 4.1 外部模板5 核心语言可用性的增强 5.1 初始化列表 5.2 统一初始化(Uniform initialization) 5.3 类型检测 5.4 基于范
2008-10-27 20:28:00 450
原创 C++0x 走马观花:开始
开始C++0x是C++编程语言演进中的新标准。它用来替换业已存在的C++标准,即于1998年发布并于2003年更新的ISO/IEC 14882,这两个之前的版本被非正式地称作C++98和C++03。通过对C++ TR1库的合并(很可能除了特殊数学函数库),新的标准将包括对核心语言的扩充,以及对C++标准库的扩展。由于这个标准尚未完成,本文也就无法反映出C++0x的最新状态。下一代C++标准的最
2008-10-27 20:22:00 461
原创 C++0x 走马观花:译者的话
写在前面就像刀客尊敬和爱护他的刀,小提琴手把小提琴当作自己的第二生命一样,一名老程序员也对着自己熟悉的编程语言有着一种特别的感情。对于效率和优雅的追求,是C++区别于其他编程语言的显著特征。C++0x作为下一代的C++编程语言,在STL带来的震撼之后,又会带来什么大家可以期待的呢?我碰巧看到了 wiki上关于C++0x的文章,觉得非常不错;绝大多数程序员并没有时间去看语言的规范,如果你是有一定经验
2008-10-27 20:20:00 515 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人