目的: 了解C++17引入std::aligned_alloc
用于动态内存管理的动机。
问题: 在C++中进行内存分配时,由于各种原因,使用std::malloc
几乎总是不被鼓励的,例如在什么情况下使用malloc和/或new?中有所阐述。相反,在低级代码中几乎总是鼓励使用new
表达式(例如,请参见注释)。
尽管如此,我想知道为什么C++17会引入看起来像是std::malloc
的延续的std::aligned_alloc
。
C++17(及以上版本)中是否有任何不能通过new
(或其他等效实用程序,如果有的话)执行的操作?
尝试: 我只能找到以下讨论,它与我的问题还有些关联: