gpt4 book ai didi

c++ - 为什么 C++17 引入 std::aligned_alloc?

转载 作者:行者123 更新时间:2023-12-03 06:57:11 31 4
gpt4 key购买 nike

目标:了解 C++17 引入 std::aligned_alloc 的动机用于动态内存管理。

问题:对于 C++ 中的内存分配,由于 In what cases do I use malloc and/or new? 下的各种原因,实际上总是不鼓励使用 std::malloc .相反,在低级代码中几乎总是鼓励使用 new 表达式(例如,参见 Notes )。

尽管有这种沮丧,但我想知道为什么 C++17 引入了 std::aligned_alloc,它看起来像是 std::malloc 的延续。

new(或鼓励使用的其他等效实用程序,如果有的话)不能执行 C++17(及更高版本)中的任何内容吗?

尝试:我只能找到以下讨论,它仍然与我的问题有很大关系:

Difference between aligned malloc and standard malloc?

最佳答案

C++17 将其对普通 C 的支持从 C99 提高到 C11。它继承了 aligned_alloc 以及 C11 的其他内容。

论文:http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0063r3.html

所以动机是让 C++ 中的 C 特性可供那些需要它们的人使用。

关于c++ - 为什么 C++17 引入 std::aligned_alloc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63871802/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com