2
可能重複:
Dynamic dispatching of template functions?動力使用顯式實例化的模板
我想用非類型模板來創建網格單元有不同的內存空間,而不必使用動態分配堆上的內存,例如
template <int cell_size>
class myCell {...}
單元格大小有限(大約10),因此我可以很容易地明確地實例化所有單元格。但是,需要哪一個單元在編譯時不知道,但僅在運行時才知道。
我知道,模板是一個編譯時的概念,但有以這種方式使用模板類的方式,尤其是因爲我可以保證所有必要的細胞類型顯式實例?
通過「好設計」,你的意思的東西比工廠模式,或者東西比使用模板其他別的嗎? –
@MichaelSchlottke除了模板之外的東西。真的取決於實際問題。 –
我想過用的模板,因爲這將讓編譯器在電池內部數據優化循環。據我瞭解C++,如果'cell_size'只是一個成員變量,用於在堆中分配內存,在單元格數據全部循環將被執行的,是的,因爲編譯器不能做出最好的優化策略的任何扣除在編譯時。 –