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

开发 后端
我们今天在这篇文章中主要为大家介绍了C++标准扩展的一些基本应用。对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++标准扩展部分,我们看到了期待以久的正则表达式也在这里面哦!

【编辑推荐】

  1. C++单件模式实现代码详解
  2. C++获取文件具体方法详解
  3. C++ makefile写法标准格式简介
  4. C++统计对象个数方法详解
  5. C++ #define预处理指令特点评比
责任编辑:曹凯 来源: 博客园
相关推荐

2010-02-01 11:13:00

C++ Traits

2010-02-04 14:58:06

C++内存分配

2010-02-01 17:09:07

C++链表操作

2010-02-05 13:44:06

C++ eof()函数

2010-02-06 14:28:38

C++标准输入输出

2010-02-05 18:04:21

C++剪切板

2010-02-06 16:16:01

C++冒泡排序

2011-07-13 16:36:11

C++

2010-02-03 15:35:00

C++输入输出汉字

2010-02-05 17:25:26

C++标识符命名规则

2010-02-26 10:46:12

WCF行为扩展

2010-02-06 13:52:39

C++ profile

2010-02-06 10:24:48

C++二维数组初始化

2010-02-06 17:09:29

C++文件拷贝

2009-12-08 13:18:17

2010-02-04 11:38:43

C++获取当前路径

2010-02-02 10:46:51

C++获取文件大小

2010-02-03 16:04:34

C++标准类库

2010-02-04 15:19:38

C++获取CPU信息

2010-02-06 17:21:20

C++ CreateT
点赞
收藏

51CTO技术栈公众号