千家信息网

C++标准扩展应用技巧是什么

发表于:2025-01-26 作者:千家信息网编辑
千家信息网最后更新 2025年01月26日,本篇内容介绍了"C++标准扩展应用技巧是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!今天实验一
千家信息网最后更新 2025年01月26日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. class Widget

  9. {

  10. public:

  11. Widget()

  12. {

  13. pstr = new string("Hello world!");

  14. cout < < "Widget's construction is called" < < endl;

  15. }

  16. Widget(const Widget& rhs) { cout < < "Widget's copy
    construction is called" < < endl; }

  17. Widget& operator=(const Widget& rhs) { return *this; }

  18. ~Widget()

  19. {

  20. delete pstr;

  21. cout < < "Destruction is called" < < endl;

  22. }

  23. private:

  24. string* pstr;

  25. };

  26. int main()

  27. {

  28. auto_ptr< Widget> pInv(new Widget);

  29. auto_ptr< Widget> pInv2(pInv);

  30. shared_ptr< Widget> pInvN(new Widget);

  31. array< int, 5> a = {{1,2,3,4,5}};

  32. cout < < a[3] < < endl;

  33. return 0;

  34. }

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

Reference Wrappers   Shared_ptr   result_of   mem_fn   Function Object Binders   Polymorphic Function Wrappers   Type Traits   Random Numbers   Tuples   Array   Hash Functions   Regular Expressions   Complex Number Algorithms

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

"C++标准扩展应用技巧是什么"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0