gpt4 book ai didi

c++ - 为什么 cppreference 说 copy_n 可以抛出 bad_alloc?什么时候可以?

转载 作者:行者123 更新时间:2023-12-05 08:36:51 26 4
gpt4 key购买 nike

我已通读 copy_n 文档 https://en.cppreference.com/w/cpp/algorithm/copy_n Exceptions 部分中有一行有趣的代码:

  • 如果算法分配内存失败,则抛出 std::bad_alloc。

它说的是什么分配?
当我们想要复制 N 个字节时,我们首先使用 T* buffer = new T[SIZE] 自己分配一个缓冲区,然后使用 copy_n 给定 SIZE
copy_n分配内存存在什么情况?

最佳答案

本节讨论使用名为 ExecutionPolicy 的模板参数的重载。该重载允许算法使用多个线程来进行复制。为了促进这一点,实现可能需要分配一些资源,这可能会抛出。

这些异常(exception)不适用于算法的串行版本。

关于c++ - 为什么 cppreference 说 copy_n 可以抛出 bad_alloc?什么时候可以?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67422396/

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