C++ Technical Report 1

✍ dations ◷ 2025-12-11 15:25:42 #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)。

相关

  • 坏血症坏血病(拉丁语:Scorbutus,英语:Scurvy)又称为坏血症、水手病,是一种因缺乏维生素C所引起的疾病。维生素C主要参与人体内胶原的合成,其化学名称是抗坏血酸,源自坏血症的拉丁名scorbut
  • 卡姆登 (南卡罗来纳州)卡姆登(英文:Camden),是美国南卡罗来纳州下属的一座城市。城市类型是“City”。其面积大约为11.39平方英里(29.49平方公里)。根据2010年美国人口普查,该市有人口6,838人,人口密度约
  • 肯辛顿锁孔肯辛顿锁孔或肯辛顿锁(英文:Kensington Security Slot,简称K-Slot 或 Kensington lock)是一个可于绝大部分便携或小型电脑产品上找到的小孔,通常可见于笔记本电脑、液晶显示器、
  • 消化饼干消化饼干(英文:digestive biscuit) 是一种在英国、英联邦国、爱尔兰及希腊等地流行的微甜饼干。 初期的消化饼干都添加苏打粉,由于大众认为苏打粉有助于消化上一块消化饼,因此会
  • 白夜行《白夜行》是日本作家东野圭吾的长篇推理小说。1997年1月至1999年1月连载于集英社《小説すばる》,单行本由集英社于1999年8月发行,日本销售量超过200万本。英文版译名《Journe
  • 观众票选奖观众票选奖 (英语:Audience award) ,观众奖通常是在电影节(或其他类型的文化节或类似比赛)上颁发的奖项,由参加该电影节的观众选择,而不是由评审团或一组专业评论家选择。
  • 斯塔蒂克冰原岛峰坐标:77°55′S 160°50′E / 77.917°S 160.833°E / -77.917; 160.833斯塔蒂克冰原岛峰(英语:Static Nunatak),是南极洲的冰原岛峰,位于维多利亚地的斯科特海岸,处于阿尔塔山西南
  • 梅尔乔岛梅尔乔岛(Isla Melchor)是智利的岛屿,属于乔诺斯群岛的一部分,座标位置45°08′S 73°57′W / 45.133°S 73.950°W / -45.133; -73.950,东西端相距22英里,南北端相16英里,面积864
  • 枇杷叶紫珠枇杷叶紫珠(学名:),又名鬼紫珠、劳来氏紫珠、长叶紫珠、野枇杷、山枇杷,是马鞭草科紫珠属的植物。分布在台湾岛、越南以及中国大陆的福建、江西、湖南、河南、浙江、广东等地,生长于海拔100米至850米的地区,一般生于谷地溪旁林中、山坡以及灌丛中,目前尚未由人工引种栽培。
  • 科里·布朗特科里·卡索恩·布朗特(英语:Corie Kasoun Blount,1969年1月4日-),美国NBA联盟前职业篮球运动员。他在1993年的NBA选秀中第1轮第25顺位被芝加哥公牛选中。