unique_ptr
2015-10-02 22:25
417 查看
#include <iostream> #include <string> #include <vector> #include <memory> using namespace std; class Test { public: Test() { cout << "Test" << endl;} ~Test() { cout << "~Test" << endl;} }; int main(int argc, const char *argv[]) { unique_ptr<Test> ptr(new Test); //unique_ptr<Test> ptr2(ptr); //没有拷贝构造 //unique_ptr<Test> ptr2; //ptr2 = ptr; unique_ptr<Test> ptr2(std::move(ptr)); unique_ptr<Test> ptr3; ptr3 = std::move(ptr2); return 0; }
#include <iostream> #include <boost/scoped_ptr.hpp> using namespace std; using namespace boost; class Test { public: Test() { cout << "Test" << endl;} ~Test() { cout << "~Test" << endl;} }; int main(int argc, char const *argv[]) { scoped_ptr<Test> ptr(new Test); return 0; }
#include <iostream> #include <memory> #include <vector> using namespace std; class Test { public: Test() { cout << "Test" << endl;} ~Test() { cout << "~Test" << endl;} Test(Test &&t) { cout << "move" << endl; } Test &operator=(Test &&t) { } private: Test(const Test &); void operator=(const Test &); }; int main(int argc, char const *argv[]) { vector<Test> coll; coll.push_back(Test()); return 0; }
#include <iostream> #include <memory> #include <vector> using namespace std; class Test { public: Test() { cout << "Test" << endl;} ~Test() { cout << "~Test" << endl;} private: Test(const Test &); void operator=(const Test &); }; int main(int argc, char const *argv[]) { vector<unique_ptr<Test> > coll; coll.push_back(unique_ptr<Test>(new Test)); return 0; }
相关文章推荐
- 多个线程操作StringBuffer和StringBuilder
- 用g++ 编译 ffmpeg 编译出现 error: 'UINT64_C' was not declared in this scope 或 missing -D__STDC_CONSTANT_MACROS
- codeforces 466D Increase Sequence DP
- [LeetCode]Longest Consecutive Sequence
- String,StringBuffer与StringBuilder的区别
- iOS:UIView、UIControl、UIButton、UILabel简单的属性和方法常识
- iOS8之后UIAlertController
- LeetCode(52) N-Queens II
- LeetCode(52) N-Queens II
- Java finished with non-zero exit value 2 - Android Gradle
- UESTC 1307 WINDY数 (数位DP,基础)
- LeetCode(51) N-Queens
- LeetCode(51) N-Queens
- LeetCode题解:Unique Binary Search Trees II
- HDU 5204 Rikka with sequence
- LeetCode题解:Unique Binary Search Trees
- hdu 4915 Parenthese sequence(模拟)2014多培训学校5现场
- Codeforces 85B. Embassy Queue【段树、馋】
- AndroidUI 布局动画-点九PNG技术
- AndroidUI 布局动画-点九PNG技术