[英]Why did C++17 introduce std::aligned_alloc?
目標:了解 C++17 引入std::aligned_alloc
用於動態內存管理的動機。
問題:在C內存分配++,使用std::malloc
是幾乎總是勸阻由於在舉例說明各種原因在什么時候使用什么樣的情況下malloc和/或新的? . 相反,在低級代碼中幾乎總是鼓勵使用new
表達式(例如參見注釋)。
盡管有這種沮喪,我想知道為什么 C++17 引入了std::aligned_alloc
,它看起來像是std::malloc
的延續。
C ++ 17(及更高版本)中是否有new
(或鼓勵使用的其他等效實用程序,如果有)無法執行的任何內容?
嘗試:我只能找到以下討論,這仍然與我的問題有很大關系:
C++17 將對普通 C 的支持從 C99 提升到 C11。 它從 C11 繼承了aligned_alloc
和其他東西。
論文: http : //www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0063r3.html
所以動機是在 C++ 中為那些需要的人提供 C 特性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.