C++的成員指標
C++的成員指標平時不怎麼用,雖然是冷僻的知識,但是還是值得去了解下。成員指標與一般指標的最大區別就是類內部是沒有地址的,所以成員指標要理解為“類中偏移量”。
還是先貼出程式碼,比較好說。
class Simple{
public:
int a,b;
int f(float) const{return 1;}
int f(int) const{return 1;}
};
int (Simple::*fp)(float)const;
int main()
{
Simple s;
int Simple::*pmInt = &Simple::b;
s.*pmInt = 4; //s.b = 4
fp = &Simple::f;
(s.*fp)(1.0); //s.f(1.0)
Simple *sp = &s;
sp->*pmInt = 4; //sp->b = 4;
(sp->*fp)(1.0); //sp->f(1.0)
}
1,成員變數指標,int Simple::*pmInt = &Simple::b
這是把Simple
的b成員變數的類地址偏移量給了pmInt
然後s
可以通過這個指標變數來訪問自己的成員變數b
。
2,成員函式指標,int (Simple::*fp)(float)const
是函式指標的定義,在main
函式裡,需要對其賦值為成員函式的地址。
相關文章
- C++ 類成員指標C++指標
- C++ 成員資料指標成員函式指標簡單測試C++指標函式
- [C++] 成員函式指標和函式指標C++函式指標
- c++智慧指標中的reset成員函式C++指標函式
- C++ 成員函式指標簡單測試C++函式指標
- 如何使用成員函式指標函式指標
- 詳解c++指標的指標和指標的引用C++指標
- C++中的this指標C++指標
- C++ 指標C++指標
- C++ this 指標C++指標
- C++類中的常成員和靜態成員C++
- C++智慧指標C++指標
- C++指標理解C++指標
- 【C++系列】指標物件和物件指標的區別C++指標物件
- c++中的靜態成員C++
- C++:類的成員函式C++函式
- C++:類的靜態成員C++
- c++類的靜態成員C++
- 120 C++中的物件指標C++物件指標
- C++之友元成員C++
- C++(函式指標)C++函式指標
- c++ 函式指標C++函式指標
- c++ 類的函式引用 指標C++函式指標
- C++ 類成員函式C++函式
- c++ const 成員函式C++函式
- C++進階(智慧指標)C++指標
- C/C++指標總結C++指標
- 1-7 C++指標C++指標
- C++ 用智慧指標這樣包裝 this 指標是否可行C++指標
- 【C++】智慧指標的正確使用方式C++指標
- C++ 指標和迭代器支援的操作C++指標
- C++ 返回函式指標的函式C++函式指標
- C++ 靜態資料成員C++
- C++筆記(11) 智慧指標C++筆記指標
- c++ 智慧指標用法詳解C++指標
- C++標準庫有四種智慧指標C++指標
- [C++ Daily] 虛表與虛指標的理解C++AI指標
- C++中的可見性 指標 筆記C++指標筆記
- 聊聊 C++ 中的幾種智慧指標 (上)C++指標