什麼時候必須要用到指標
很多時候會遇到必須使用指針的情況,舉例來說以下兩個降低依存關係的技巧,才不用動一個一個地方整份專案重編。
- Handle Class
- Protocol Class
實際上應該還有很多場合不得不用,或使用會更好。
舉個簡單的例子,考慮一個互相依存的類別,雙方彼此都要有雙方
舉個簡單的例子,考慮一個互相依存的類別,雙方彼此都要有雙方
struct A{
B b;
};
struct B{
A a;
};
這時候你怎麼辦呢在類別A內找不到B的定義沒但法實作
舉兩個簡單手段避開依存關係
舉兩個簡單手段避開依存關係
- vector (或一個設計良好自訂的容器)
- 指針
struct B; // 前置宣告
struct A{
B* b;
};
struct B{
A a;
};
struct B; // 前置宣告
struct A{
vector<B> b;
};
struct B{
A a;
};
其中的前置宣告,也可以使用詳細的型別說明符(Elaborated type specifier)取代
struct A{
struct B* b;
};
沒有留言:
張貼留言