![](/img/trans.png)
[英]Using STL algorithms (specifically std::sort) from within a templated class
[英]std::sort algorithms memory usage
我想知道標准庫排序算法(例如std :: sort)是否正在使用堆內存進行排序。
有沒有可靠的來源如何找出排序算法或任何標准庫算法通常使用的是什么類型(堆,堆棧)和多少臨時內存?
背景是我考慮將一些標准庫算法引入嵌入式環境,其中受控的內存使用是至關重要的。 (尤其不應使用堆)。
先感謝您!
標准庫算法可以使用的內存不是標准規定的,因此實現通常可以按照自己的意願執行。 這包括分配堆內存。
您可以檢查某些特定實現是否提供了所需的保證,但一般而言,您無法控制實現如何實現其算法。
然而:
背景是我考慮將一些標准庫算法引入嵌入式環境,其中受控的內存使用是至關重要的。 (尤其不應使用堆)。
實現必須確保其算法按照標准的定義執行它們應該執行的操作。 這意味着:如果你有一個支持你的目標環境的C ++編譯器,它必須在所述目標平台上做正確的事情,但它實現了這一點。
特別是:如果您的平台沒有堆,則任何支持它的實現都不能使用堆。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.