0
我的目標是通過最小化包含來減少編譯時間,同時保持對類範圍內的內存分配的控制。使用常量指針避免包含
實例化方法
foo.h中
#include "Bar.h" //unneccessary if only number is used in a given source file
struct Foo
{
Bar bar;
int number;
};
常數指針方法
foo.h中
struct Bar; //no include, to use Bar Bar.h must also be included
struct Foo
{
Bar *const bar;
int number;
Foo();
Foo(const Foo&) = delete;
~Foo();
};
Foo.cpp中
#include "Bar.h"
Foo::Foo()
: bar(new Bar())
{
}
Foo::~Foo()
{
delete bar;
}
是否有使用常量指針這樣的,而不是實例變量任何其他注意事項?或者可能的替代方法?
當模塊出現時,這種過度的聰明會讓你陷入困境。只需包括你需要的東西。 –
其他的注意事項你的意思是超出你完全破解的拷貝構造函數和手動使用'new'的東西嗎? –
準確的說:)複製構造不是必需的用例我有,所以我很高興刪除它們。已經更新了這個問題。你可以擴展'手動使用新',以及這是一個問題與任何其他使用新的問題相比?謝謝! –