C++ Technical Report 1

✍ dations ◷ 2024-12-26 00:39:51 #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)。

相关

  • 马耶讷省马耶讷省(法文:Mayenne)是法国卢瓦尔河地区大区所辖的省份。该省编号为53。5个海外省及大区
  • 洛桑联邦理工学院坐标:46°31′13″N 06°33′56″E / 46.52028°N 6.56556°E / 46.52028; 6.56556洛桑联邦理工学院(EPFL)(法语:École polytechnique fédérale de Lausanne,缩写EPFL),是一所世
  • 国有社会主义国有社会主义(德语:Staatssozialismus;英语:state socialism),主要描绘任何形式的依赖、倡导国家机器直接操控生产资料的一种既不是意识形态,也不是政治制度的经济架构。这个词来
  • 芋螺属芋螺属(学名:)是芋螺科的一个属。其外形类似圆锥,许多品种的芋螺外壳上都有鲜艳的花纹,主要分布在热带。所有的芋螺都会分泌毒素,因此在处理活的芋螺时需非常小心,甚至是最好不要接
  • 平顶山市第一中学平顶山市一中,或者称平顶山市第一中学,是一所创建于1956年春的公立高中,同时也是平顶山市最早开设的普通高中,1957年始用现名,1964年又改名为平顶山特区第一中学,1968年又恢复现名
  • 安德鲁·萨里斯安德鲁·萨里斯(1928-10-31 – 2012-6-20),美国影评人,美国作者论的首位倡导者。萨里斯生于纽约布鲁克林区,在皇后区的臭氧公园(英语:Ozone Park)(Ozone Park)附近长大,父母是希腊移民
  • 徐曰琮徐曰琮(1921年5月12日-1995年6月10日),原名徐欣堂,江苏常州人,中国教育家,新闻工作者。1921年5月12日生。1939年10月至1941年3月,在西南联大法商学院经济系学习,曾任学生会干事。1940
  • 童年的消逝《童年的消逝》(The Disappearance of Childhood)是尼尔·波兹曼的一部媒介研究作品。全书分为童年的历史和消逝两个部分。波兹曼探究自古希腊起,经过中世纪,工业革命时期,到电脑
  • 龟山 (高雄市)龟山又称龟峰岭,位于台湾高雄市左营区境内,莲池潭之西南边,东北与半屏山隔潭对峙,西南则邻近寿山尾端(古名蛇山),是一座呈东北—西南走向的小山,海拔仅有63米,与邻近的半屏山、寿山同
  • 本·戴维斯 (1993年)本杰明·托马斯·“本”·戴维斯(英语:Benjamin Thomas "Ben" Davies;1993年4月24日-),威尔士足球运动员,司职左后卫。现效力于英超俱乐部热刺,代表威尔士足球代表队参加比赛。2019年7月,本·戴维斯与热刺签署了一份新的五年合约。2021年5月,戴维斯被选入威尔士队2020年欧洲足球锦标赛大名单。最后更新:2020年7月26日