C++ Technical Report 1

✍ dations ◷ 2025-12-01 11:55:36 #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)。

相关

  • 刘亹刘亹(1851年10月9日-1894年10月28日),字贻棫。江苏省常州府武进县(今常州市武进区)人,晚清政治人物。光绪五年(1880年):捐得湖南试用同知衔,加五级。十三年(1888年):补授浙江严州府分水县
  • 尹致旺尹致旺(韩语:윤치왕,1895年2月17日-1982年12月21日)是韩国朝鲜日占期和大韩民国的医师。韩国历史上早期的近代识妇产科医师和妇产科学者之一。本贯海平尹氏,字圣云,号南圃。韩国独
  • 朱姆沃尔特朱姆沃尔特(英语:Zumwalt)是美国俄勒冈州瓦洛瓦县一个非建制地区和鬼镇,海拔1394米(4573英尺)。当地位处朱姆沃尔特大草原(Zumwalt Prairie),并以一位早期居民亨利·朱姆沃尔特(Henry
  • 阿基利诺·博科斯·梅里诺阿基利诺·博科斯·梅里诺(西班牙语:Aquilino Bocos Merino;1938年5月17日-)是天主教西班牙籍执事级枢机及圣母圣心爱子会会士。阿基利诺·博科斯·梅里诺于1938年5月17日在西班
  • 大和型战舰相关作品列表本页是大和级战舰相关作品一览。取名自古代令制国大和国的战舰大和是史上最大最强的战舰(直至现在并没有建造过超越大和型的战舰),但没有在其本来目的,于舰队决战中活跃及发挥应
  • 英雄奇幻英雄奇幻(Heroic fantasy)是奇幻小说的次文类,故事着重于叙述英雄传说。英雄奇幻在十九和二十世纪早期并不盛行,作家罗伯特·欧文·霍华德创作一部英雄短篇小说《蛮王柯南》(Cona
  • 祈进忠祈进忠(?-1732年)为中国清朝武官官员,本籍福建。祈进忠于1728年(雍正6年)奉旨接替康陵,于台湾地区担任台湾水师协副将。而隶属台湾镇之下的此官职是台湾清治时期中的这阶段,全台湾的
  • 新井凉平新井凉平(日语:新井 涼平/あらい りょうへい ,1991年6月23日-)生于埼玉县,是一名日本男子田径运动员,主攻标枪。他在小学时接触过垒球,中学时则练习棒球。2007年,他在电视上观看芬兰
  • 李法圣李法圣(1935年-),山西祁县人,中国的昆虫学家,于北京农业大学植保系任职,专长于啮虫目物种的研究,从1990年代到现在著有多份相关研究,曾发现多个新的物种,而等�属有多个不同层阶的物种分
  • 科尔·斯渥克尔松科尔·斯渥克尔松(?-1173年),斯渥克尔王朝的瑞典国王王位觊觎者,东约特兰国王(1167年-1173年在位)。根据唯一的中世纪来源,他与其兄弟布里斯莱夫·斯渥克尔松皆是斯渥克尔王朝开创者斯渥克尔一世的儿子约翰·斯渥克尔松(英语:John, Prince of Sweden (12th century))的儿子、卡尔七世的侄子。1167年4月12日,叔父卡尔七世在维辛索被埃里克九世之子克努特一世的支持者弑杀,克努特一世成为国王。卡尔七世死后,布里斯莱夫·斯渥克尔松及科尔·斯渥克尔松一同在东约特兰反对克努