C++标准扩展应用技巧分享

对于经验丰富的编程人员来说,C++编程语言他们应该再熟悉不过了。这样一款功能强大的语言,给他们的程序开发带来了非常大的好处,我们今天就可以从C++标准扩展的方法来体验一下这语言的功能特点。

今天实验一下C++标准扩展中的shared_ptr的使用,结果在gcc4.1上怎么也编译不过去,上网查了一下,还下载了TR1的手册。终于明白了,要在#include中加入

 
 
 
  1. #include < tr1/memory> 
  2. #include < iostream> 
  3. #include < string> 
  4. #include < tr1/array> 
  5. #include < tr1/memory> 
  6. using namespace std;  
  7. using std::tr1::shared_ptr;  
  8.  
  9. class Widget  
  10. {  
  11. public:  
  12. Widget()   
  13. {  
  14. pstr = new string("Hello world!");  
  15. cout < <  "Widget's construction is called" < <  endl;   
  16. }  
  17. Widget(const Widget& rhs) { cout < <  "Widget's copy 
    construction is called" < <  endl; }  
  18. Widget& operator=(const Widget& rhs) { return *this; }  
  19. ~Widget()   
  20. {  
  21. delete pstr;  
  22. cout < <  "Destruction is called" < <  endl;   
  23. }  
  24. private:  
  25. string* pstr;  
  26. };  
  27. int main()  
  28. {  
  29. auto_ptr< Widget> pInv(new Widget);  
  30. auto_ptr< Widget> pInv2(pInv);  
  31. shared_ptr< Widget> pInvN(new Widget);  
  32. array< int, 5> a = {{1,2,3,4,5}};  
  33. cout < <  a[3] < <  endl;  
  34. return 0;  

这个文件。呵呵,可能是自己太不小心了!这次C++标准扩展的部分,根据TR1的说明主要有:

 
 
 
  1. Reference Wrappers   
  2. Shared_ptr   
  3. result_of   
  4. mem_fn   
  5. Function Object Binders   
  6. Polymorphic Function Wrappers   
  7. Type Traits   
  8. Random Numbers   
  9. Tuples   
  10. Array   
  11. Hash Functions   
  12. Regular Expressions   
  13. Complex Number Algorithms 

这些C++标准扩展部分,我们看到了期待以久的正则表达式也在这里面哦!

名称栏目:C++标准扩展应用技巧分享
文章地址:http://www.shufengxianlan.com/qtweb/news24/318924.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联