C++ Technical Report 1

✍ dations ◷ 2025-12-05 12:51:38 #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)。

相关

  • 粗细字型或字模(英语:font;传统英式英语:fount)是指印刷行业中某一整套具有同样样式、字重和尺码的字形,例如一整套用于内文的宋体5号字、一整套用于标题的10号字就叫一套字型。电脑早
  • 雅库特地区雅库特共和国(俄语:Республика Саха (Якутия),罗马化:Respublika Sakha (Yakutiya))是俄罗斯联邦主体之一,属于远东联邦管区。1922年4月27日,苏联在俄罗斯苏维
  • 碳税碳税(英语:carbon tax)是针对向大气排放二氧化碳而征收的一种环境税。二氧化碳目前被广泛认为是造成全球暖化的主要原因。碳税的设置意图即是通过税收手段,抑制向大气中排放过多
  • 计成计成(1582年-1642年),字无否,号否道人,苏州吴江同里人,明代造园家。生于明万历十年,卒于明崇祯十五年。著有《园冶》三卷,是目前所知世界上最早的造园专书。计成在少年时以绘画闻名,阮
  • 同乐运动会同乐运动会(英语:Gay Games,又称同志运动会)是一个由同志社区举办的体育和文化活动。同志运动会于1982年始于旧金山,创办者是汤姆·沃德尔(英语:Tom Waddell)医生,他的目标是发扬包容
  • 迈克尔·西马诺维茨迈克尔·西马诺维茨(英语:Michael Simanowitz;1971年8月10日-2017年9月2日),是美国的民主党政治人物,前纽约州众议院来自皇后区的议员。西马诺维茨曾在法拉盛伊立切斯特住房合作社(
  • 邻家大贱谍《邻家大贱谍》(英语:)是一部2016年的美国动作喜剧片,由格雷格·莫托拉执导,查克·葛里芬纳奇、乔·哈姆、艾拉·菲舍尔与盖尔·加朵主演。该片于2016年10月21日在美国上映。故事
  • 巴伐利亚的沃夫冈巴伐利亚的沃夫冈(德语:,1879年7月2日—1895年1月31日),巴伐利亚末代国王路德维希三世的幼子。1895年,沃夫冈因肺水肿去世,年仅15岁。
  • 刘博 (任城王)刘博(?-174年),中国东汉宗室,第4代任城王。汉章帝之孙,河间孝王刘开之子。刘博本为参户亭侯,汉桓帝元嘉元年(151年)闰十一月庚午,任城节王刘崇薨,无子,国绝。延熹四年(161年)四月甲寅,封刘博为任城王(治所在任城县,今山东省济宁市微山县西北鲁桥),奉任城孝王刘尚之祀。刘博有孝行,丧母服制如礼,增封三千户。汉灵帝熹平三年(174年)十一月,刘博薨,无子,国绝。熹平四年(175年),灵帝复立河间王刘建子新昌侯刘佗为任城王。
  • 西尔瓦诺·阿巴西尔瓦诺·阿巴(意大利语:Silvano Abbà,1911年7月3日-1942年8月24日),意大利男子现代五项运动员。他曾代表意大利参加1936年夏季奥林匹克运动会现代五项比赛,获得一枚铜牌。