c++智慧指標中的reset成員函式
若p為智慧指標物件(如:shared_ptr< int> p)
成員函式reset使用:
p.reset(q) //q為智慧指標要指向的新物件
會令智慧指標p中存放指標q,即p指向q的空間,而且會釋放原來的空間。(預設是delete)
實驗程式碼:
#include<memory>
#include<iostream>
using namespace std;
struct A {
int i ;
A() { cout << "construct\n"; }
~A() { cout << "delete "<< i <<"\n"; }
};
int main()
{
shared_ptr<A> a( new A);
A* b = new A;
a->i = 1;
b->i = 2;
a.reset(p);
//此時輸出delete 1,代表智慧指標原來指向的空間被delete
cout << "end";
return 0;
}
其他reset使用:
p.reset(); //釋放p中內建的指標指向的空間
p.reset(q.d); //將p中內建指標換為q,並且用d來釋放p之前所指的空間
相關文章
- [C++] 成員函式指標和函式指標C++函式指標
- C++ 成員資料指標成員函式指標簡單測試C++指標函式
- C++ 成員函式指標簡單測試C++函式指標
- 如何使用成員函式指標函式指標
- C++中函式指標與函式物件C++函式指標物件
- C++ 類成員指標C++指標
- c++ 函式指標C++函式指標
- C++(函式指標)C++函式指標
- C++:類的成員函式C++函式
- c++ const 成員函式C++函式
- C++ 類成員函式C++函式
- C++ 返回函式指標的函式C++函式指標
- C++ 中的 const 物件與 const 成員函式C++物件函式
- c++ 類的函式引用 指標C++函式指標
- Rust中的函式指標Rust函式指標
- 指標函式 和 函式指標指標函式
- 深入C++成員函式及虛擬函式表C++函式
- 【不在混淆的C】指標函式、函式指標、回撥函式指標函式
- C++程式的函式指標:實操來了C++函式指標
- C++智慧指標C++指標
- 如何使用函式指標呼叫類中的函式和普通函式函式指標
- c++中模板類的成員函式的宣告與定義應該放在標頭檔案裡C++函式
- typedef void (*Fun) (void) 的理解——函式指標——typedef函式指標函式指標
- 函式指標函式指標
- 聊聊 C++ 中的幾種智慧指標 (上)C++指標
- C++中的this指標C++指標
- C++特殊成員函式及其生成機制C++函式
- C++定義函式指標,回撥C#C++函式指標C#
- cpp:"函式指標"的方法函式指標
- 函式指標&回撥函式Callback函式指標
- C++進階(智慧指標)C++指標
- 在實驗中觀察指標——C++ 函式引數的壓棧順序指標C++函式
- C++(常量成員函式)C++函式
- 引入const成員函式函式
- 函式指標的重要用途——回撥函式函式指標
- 函式指標基礎函式指標
- 關於函式指標函式指標
- perl 裡邊的 函式指標函式指標