在構造函數中將類作爲參數傳遞時,我最終會在大多數情況下傳遞指針。造成這種情況的主要原因是我要傳遞不能被實例化抽象類,並作爲參考不能爲空我真的沒有選擇...... 下面是一個例子: // Abstract class A
class A {
virtual void foo() = 0;
};
class B : public A {
void foo();
};
我有一個小的層次結構的類,我試圖找出維護所有權的簡單方法。由於這些對象駐留在堆上,並且由於我討厭原始指針,我想我會使用boost共享指針和弱指針。 (我可以選擇,但這是我習慣的。)共享指針可以幫助所有權,因爲當共享指針的所有者這麼說的時候,弱指針不會阻止對象被刪除。 層次結構: class Actor;
class Body : public virtual Actor;
class Owne