C++ Technical Report 1

✍ dations ◷ 2025-04-27 18:37:12 #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)。

相关

  • 执法部门尽管大多数联邦执法人员都在司法和国土安全部门工作,但在其他行政部门以及联邦政府的立法和司法部门下,还有数十个其他联邦执法机构。不同的联邦执法机构根据《美国法典》 (USC
  • 圣塔摩尼卡圣莫尼卡 (英语:Santa Monica)是美国加利福尼亚州洛杉矶县的一个城市,位于太平洋沿岸,洛杉矶市以西,这里是有母亲之路之称的美国66号公路的终点。目前是一个度假胜地和住宅区。201
  • 黄志忠黄志忠(1969年3月5日-),中国演员,毕业于中央戏剧学院,出生于天津,原天津体工大队青年队篮球运动员。与前妻何音于2011年1月离婚。
  • 雅科夫·伊万诺维奇·特里亚皮岑雅科夫·伊万诺维奇·特里亚皮岑(俄语:Яков Иванович Тряпицын́,1897年4月25日-1920年7月9日),俄罗斯、苏联军事及政治人物。特里亚皮岑在第一次世界大战期
  • Carry On/命中注定《Carry On/命中注定》(日语:Carry On/運命のヒト)为日本音乐团体EXILE(放浪兄弟)的第14张单曲。2004年5月12日于日本发行。
  • 2017福布斯中国30位30岁以下精英榜2017福布斯中国30位30岁以下精英榜单(简称30 under 30、30u30)是福布斯中国于2017年7月20月公布的人物榜单,涵盖了中国10个不同领域各30位30岁以下精英,共有300多位青年才俊入选
  • 布莱恩·巴尔德布莱恩·巴尔德(Brian Baird;1956年3月7日-)是美国的一位政治人物。在1999年至2011年期间,布莱恩·巴尔德担任华盛顿州第3选举区的美国众议院众议员。他的党籍是民主党。巴尔德出
  • 洛巴赫河 (伍珀河支流)坐标:51°14′22.51″N 7°18′24.51″E / 51.2395861°N 7.3068083°E / 51.2395861; 7.3068083洛巴赫河(德语:Lohbach),是德国的河流,位于该国西部,处于北莱茵-威斯特法伦州,属于
  • 安迪施积·比纳斯安迪施积·比纳斯(Andrzej Bednarz,1980年12月22日-),生于克拉科夫,现效力沙巴。他此前在波兰多支低组别球队效力,比纳斯与沙巴签约,成为伊朗超联第一位波兰人。
  • 藤原绥子藤原绥子(974年-1004年2月29日),是日本平安时代中期三条天皇的嫔御之一。父藤原兼家,母从三位藤原国章之女对之御方。藤原绥子是藤原兼家的第三个女儿,母亲非正妻,故为庶女。永观二年(984年),时年11岁的绥子入宫,担任后宫内侍所的长官尚侍。绥子有姿色,是个美女。永延元年(987年)9月,14岁的绥子以尚侍的身份入侍当时12岁的储君居贞亲王,即后来的三条天皇。居贞亲王之母藤原超子为藤原绥子的异母长姐,故绥子是居贞亲王的姨母。成为东宫妾室后,绥子居住在后宫的丽景殿。绥子入宫后有宠,某年夏天,东宫给了一