我正在使用SFML,它通過std::vector<Uint32>
和其他類似的處理大部分內存。所有聲明都使用默認的分配器。 SFML庫被編譯成靜態鏈接到Visual Studio中的.lib文件。 (如果需要,我擁有它的所有源代碼。)如何強制一個庫使用自定義的std :: allocator?
我的問題是什麼是強迫SFML使用我的自定義小對象/線程安全的分配器而不是STL容器的最痛苦的方法,而不是默認?我需要改變圖書館本身越少,當然就越好!
編輯:
如果它幫助所有,忘記了圖書館的執行情況;我可以隨心所欲地重新編譯它。爲了這個問題,想象它是我正在使用的代碼。我的目標是改變所有STL容器使用的默認分配器,本質上。
EDIT2:
如果不是可能的話,將覆蓋new
本身是正確的方法是什麼?我已經讀過,默認的分配器只不過是新增/刪除操作中的糖衣。
「custom'std :: allocator'」是有點用詞不當。如果它是自定義的,這不是標準的。而SFML絕對使用'std :: vector>'。 –
MSalters