是否有人知道,如果boost::get
的boost::variant
是性能耗時的操作或沒有。C++ - 升壓GET問題
現在我在性能關鍵部分,其中「varianting」是爲每一個可能的類型落實容器和相應的enum
重構了一些舊代碼。
顯然,這是快,但醜陋而現在,當我不得不重構代碼,以便它與一個更有型工作,我想擺脫的代碼,舊的一部分,並與boost::variant
更換。
此外,我不能簡單地「配置文件變種和比較」,因爲這個重構是一個痛苦的屁股,並會相當耗時。
因此,如果有人知道如何boost::get<x>
執行比較泛型enum-based
類型調度,我將不勝感激,如果你分享這些知識。
有使用boost::variant<types>
定製訪問者(如boost::variant
文檔描述)的另一種變體 - 這可能比我的情況boost::get
快?
謝謝。
您是否嘗試過查看源代碼? http://www.boost.org/doc/libs/1_44_0/boost/variant/get.hpp – Wernight 2010-10-22 13:18:54
如果_custom_操作比他們自己的操作更快,他們是不是將自己的實現基於自定義實現? – sbi 2010-10-22 15:06:45
你最後去了'void *'嗎? – DarioP 2014-06-03 15:23:47