C++ Technical Report 1 (TR1)是ISO/IEC TR 19768, C++ Library Extensions(函式庫擴充)的一般名稱。TR1是一份文件,內容提出了對C++標准函式庫的追加項目。這些追加項目包括了正則表達式、智能指針、哈希表、隨機數生成器等。TR1自己並非標准,他是一份草稿文件。然而他所提出的項目很有可能成為下次的官方標准。這份文件的目標在於「為擴充的C++標准函式庫建立更為廣泛的現成實作品」。
C++ tr1是針對C++標准庫的第一次擴展。即將到來的下一個版本的C++標准c++0x會包括它,以及一些語言本身的擴充。tr1包括大家期待已久的smart pointer,正則表達式以及其他一些支持范型編程的東東。草案階段,新增的類和模板的名字空間是std::tr1。
C++11,先前被稱作C++0x,即ISO/IEC 14882:2011,是目前的C++編程語言的正式標准。它取代第二版標准ISO/IEC 14882:2003(第一版ISO/IEC 14882:1998公開於1998年,第二版於2003年更新,分別通稱C++98以及C++03,兩者差異很小)。新的標准包含核心語言的新機能,而且擴展C++標准程序庫,並入了大部分的C++ Technical Report 1程序庫(數學的特殊函數除外)。最新的消息被公開在 ISO C++ 委員會網站(英文)。
C++新標准TR1以及正在制定的TR2都用到了很多來之boost中的庫,對應關系如下:
TR1:
- smart ptr
- function
- bind
- hash set && hash table
- regex
- tuple
- array
- random
TR2的候選有:
- Boost.Asio
- Boost.Signals
- Boost.Filesystem
- Boost.Any
- boost::lexcal_cast<>
- Boost.String Algo
- Boost.System