本篇内容介绍了“C++标准扩展应用技巧是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
今天实验一下C++标准扩展中的shared_ptr的使用,结果在gcc4.1上怎么也编译不过去,上网查了一下,还下载了TR1的手册。终于明白了,要在#include中加入
#include < tr1/memory> #include < iostream> #include < string> #include < tr1/array> #include < tr1/memory> using namespace std; using std::tr1::shared_ptr; class Widget { public: Widget() { pstr = new string("Hello world!"); cout < < "Widget's construction is called" < < endl; } Widget(const Widget& rhs) { cout < < "Widget's copy construction is called" < < endl; } Widget& operator=(const Widget& rhs) { return *this; } ~Widget() { delete pstr; cout < < "Destruction is called" < < endl; } private: string* pstr; }; int main() { auto_ptr< Widget> pInv(new Widget); auto_ptr< Widget> pInv2(pInv); shared_ptr< Widget> pInvN(new Widget); array< int, 5> a = {{1,2,3,4,5}}; cout < < a[3] < < endl; return 0; }
这个文件。呵呵,可能是自己太不小心了!这次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++标准扩展应用技巧是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。