C++ Technical Report 1

✍ dations ◷ 2025-12-02 11:58:04 #C++ Technical Report 1

C++ Technical Report 1(TR1)是ISO/IEC TR 19768, C++ Library Extensions(库扩展)的一般名称。TR1是一份文件,内容提出了对C++标准库的追加项目。这些追加项目包括了正则表达式、智能指针、哈希表、随机数生成器等。TR1自己并非标准,它是一份草稿文件。然而它所提出的项目大多数已成为的C++11及之后版本的官方标准的一部分。这份文件的目标在于“为扩展的C++标准库创建更为广泛的现成实现品”。

编译器并不需要保证包含TR1的组件,因为TR1并非官方标准的一部分。顺带一提,Boost提供了TR1大部分的实现,数个编译器/库开发商也已提供了各自的实现版本。

TR1并不代表下一届标准的全部;举例而言,下一届的标准C++11包含了线程的支持。

新的组件被放置在std::tr1的名字空间()里,以和现在的标准库做区别。

TR1包含以下组件:

一个wrapper reference是由模板类reference_wrapper产生的实体()获得。wrapper reference近似于C++语言中的引用。

使用ref以获得任何实例的wrapper reference(对常数引用const &使用cref)。

wrapper reference对模板函数(template function)尤其有用,当模板参数推导不出引用的时候(示例如下:)

void f( int &r ) { r++; }template< class Funct, class Arg >void g( Funct f, Arg t ){  f(t);}int main(){  int i = 0;  g( f, i );          // 'g< void(int &r), int >' 被实例化  cout << i << endl;  // 輸出:0  g( f, ref(i) );     // 'g< void(int &r), reference_wrapper<int> >' 被实例化  cout << i << endl;  // 輸出:1}
智能指针(Smart Pointers)
  • 基于Boost Smart Pointer library
  • <memory>头文件增加了 - shared_ptrweak_ptr
  • 将(RAII)手法用于内存管理和异常安全性。

仿函数

以下四个模块被加进<functional>头文件之中:

第二类柱贝塞尔函数

第二类球贝塞尔函数

C++被设计成与C语言兼容,但由于不同的标准,C++并不是C的严格超集合。TR1试图调和这些差异,透过对各种头文件,如<complex>、<locale>、<cmath>等进行扩展。这些改变帮助C++能够与C99版本的C标准更为一致(并非所有C99都包含于TR1)。

相关

  • 孟德尔遗传学孟德尔定律是一系列描述了生物特性的遗传规律并催生了遗传学诞生的著名定律,包括两项基本定律和一项原则即:显性原则、分离定律(孟德尔第一定律),以及自由组合定律(孟德尔第二定律
  • 强啡肽强啡肽(Dynorphins,Dyn),是内源性阿片肽(英语:Opioid peptide)的一种,由其前体前强啡肽(英语:Prodynorphin)转化形成。当前强啡肽被原蛋白转化酶2(英语:proprotein convertase 2)(PC2)处理
  • 哈里·考恩哈里·考恩(Harry Cohn;1891年7月23日-1958年2月27日)是哥伦比亚影业的创始人之一,曾担任该公司总裁和制作总监,在世时是美国电影业最有权势的人之一。他出生于纽约市的一个犹太裔
  • 林辉瑝林辉瑝(英语:Lin huei huang,1994年09月21日-),出生于台湾桃园市,家中排行老大,凯渥旗下艺人。2014年参加中国好男儿获得上海赛区12强。2018年演出电影斗鱼。林辉瑝18岁时被找去参加
  • 卫之卫之(1911年8月-2012年1月8日),男,辽宁锦县人,中华人民共和国政治人物,曾任辽宁省高等教育局局长,辽宁省政协副主席。
  • 漏字文漏字文(英语:lipogram,希腊语:lipagrammatos,意为“失踪的字母”)是一种有意避免使用某个或某几个特定字母的写成的文章。漏字文可能在写作或文字游戏中出现。公元前5世纪希腊诗人
  • 莱卡翁莱卡翁(Lykaon, 希腊语:Λυκάων),在希腊神话中狼人被称为“Lycanthrope”,莱卡翁原先是是阿卡迪亚的国王,有许多妻子、五十个儿子和一个叫卡里斯托的女儿,由于宙斯在前往阿卡
  • 邻居查尔斯《邻居查尔斯》(朝鲜语:이웃집 찰스,英语:My Neighbor, Charles )为韩国KBS节目,主轴为居住在韩国的外国人挑战并了解韩国社会和文化的真人秀。r
  • D·拉贾多赖瑟米·拉贾(印地语:दोरीसामी राजा;英语:Doraisamy Raja;1949年6月3日-),通称D·拉贾,印度政治家,现任印度共产党总书记,曾任印度共产党全国书记、联邦院议员。他出生于
  • 亚历山德罗·巴索利亚历山德罗·巴索利(意大利语:Alessandro Bassoli;1990年6月19日-)是一位意大利足球运动员。在场上的位置是后卫。他现在效力于意大利足球甲级联赛球队切沃足球俱乐部。