1
這個問題是關於Boost Graph Library
。BGL:沒有默認構造函數的捆綁對象?
假設我的圖表類型是這樣定義的:
using Graph = boost::adjacency_list<vecS, setS, directedS, State>;
現在,如果我理解正確的話,我可以在新的State
對象s
添加到圖表所示:
auto vd = add_vertex(g); // g is a Graph object
g[vd] = s;
有是這樣的兩個問題:
它需要
State
有一個默認的構造函數。在這個特定的類State
的情況下,默認構造函數根本沒有意義。這樣,我添加頂點時支付
State
對象的默認構造。這個成本是純粹的運行時間開銷。
那麼,有沒有辦法避免捆綁對象的默認構造函數的需要?
你還需要'G [VD = s'?另外,我的'Graph'類型適合用於這種過載嗎? – AlwaysLearning
您可以在鏈接的文檔中查找。但是,是的,這應該適用。不過,對於房產類型的要求並沒有改變,所以應該考慮系統性的修改。 – sehe