C++TR1和C++0x简单介绍

原创 2013年12月02日 16:57:23

C++TR1和C++0x是什么呢?下面简单介绍一下C++TR1和C++0x的内容。   

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++ Technical Report 1 (TR1) is the common name for ISO/IEC TR 19768, C++ Library Extensions, which is a document proposing additions to the C++ standard library. The additions include regular expressions, smart pointers, hash tables, and random number generators. TR1 is not a standard itself, but rather a draft document. However, most of its proposals are likely to become part of the next official standard. In the meantime, vendors can use this document as a guide to create extensions. The report's goal is “to build more widespread existing practice for an expanded C++ standard library.”
   
    C++0x (pronounced see plus plus oh ex)[1] is the unofficial name of the planned new standard for the C++ programming language. It is intended to replace the existing C++ standard, ISO/IEC 14882, which was published in 1998 and updated in 2003. These predecessors are informally known as C++98 and C++03. The new standard will include several additions to the core language and will extend the C++ standard library, incorporating most of the C++ Technical Report 1 (TR1) libraries - most likely with the exception of the library of mathematical special functions.
   一个简单的实例:
    using std::tr1::function
   
    This is a simple example of using std::tr1::function. 
  
    #include “stdafx.h”
    #include <iostream>
    #include <vector>
    #include <functional>
    //using std::tr1::function;
    typedef std::tr1::function< long (int,int) >Callback;
    typedef std::vector<Callback> Callbacks;
    Callbacks callbacks;
   
    long myfunction(int a,int b)
    {
    std::cout 《 “Function Called \n”;
    return 12;
    }
   
    int _tmain(int argc, _TCHAR* argv[])
    {
    //Now callbacks is a vector lets resize it
    callbacks.resize(1);
    //Now store address of myfunction in callback
    callbacks[0]= &myfunction;
    //Now call the function using the cector and passing 5 as parameter
    Callback& callback = callbacks[0];
    std::cout 《 callback(12,14);
    std::cin.get();
    return 0;
    }

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

探索C++0x: 1. 静态断言(static_assert)

转载请注明来源:http://blog.csdn.net/thesys/archive/2010/06/02/5641350.aspx 简介 C++0x中引入了static_assert这...

新C++标准:C++0x教程(四):面向所有开发者的特性(下)

译者:yurunsun@gmail.com 新浪微博@孙雨润 新浪博客 CSDN博客日期:2012年11月14日 原作:Scott Meyers 这些是Scott Meyers培训教程《新C++标...

VC10中的C++0x特性 Part 2 (1):右值引用

----------------------------------------------------------------------------------------------------...

新C++标准:C++0x教程(二):面向所有开发者的特性(上)

译者:yurunsun@gmail.com 新浪微博@孙雨润 新浪博客 CSDN博客日期:2012年11月12日 ...

新C++标准:C++0x教程(三):面向所有开发者的特性(中)

本文转载自:雨润的技术博客 http://blog.csdn.net/sunyurun 这些是Scott Meyers培训教程《新C++标准:C++0x教程》的官方笔记,培训课程的描述请见 ...

新C++标准:C++0x教程(一):导论

译者:yurunsun@gmail.com 新浪微博@孙雨润 新浪博客 CSDN博客日期:2012年11月12日 ...

C++0x: The future of C++

原文链接http://www.cprogramming.com/c++11/what-is-c++0x.html What is C++0x? C++0x is the working nam...

C++0x Concurrency in Action

  • 2012年04月19日 15:51
  • 2.13MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++TR1和C++0x简单介绍
举报原因:
原因补充:

(最多只允许输入30个字)