2015年4月11日 星期六

C++ 學習小筆記 Smart Pointer

基本上就是參考這篇StackOverflow
Smart Pointer 省掉了自己delete c++ object的麻煩
如果用原本C++的pointer:
MyObject* ptr = new MyObject(); 
ptr->DoSomething();
delete ptr; 
但是如果用的是Smart Pointer
SomeSmartPtr<MyObject> ptr(new MyObject());
ptr->DoSomething(); 
不用 delete ptr 超方便der
但是事情當然不會這麼簡單
要看你用的是哪一種smart pointer
(目前覺得)常用的有幾種

  1. unique_ptr (只會活在scope裡面)
  2. shared_ptr (會幫你做reference counting)

大概就是這樣 小心使用囉~


Related Articles

0 意見:

張貼留言

技術提供:Blogger.