std::vector在 std::containers (或std::array)和指向数组的智能指针之间进行选择时如何决定
我知道容器是内存管理的对象。它们是异常安全的,不会有任何内存泄漏,它们还提供了内存管理的功能(push.back等),而智能指针也是不会泄漏内存的指针,因为它们在不再需要时会删除它们(就像超出范围时的 unique_ptr 一样)。在容器中,每次创建它们时可能都会产生开销。
我的问题是我如何决定使用哪种方法以及为什么。
std::vector <unsigned char>myArray(3 * outputImageHight * outputImageWidth);
std::unique_ptr<unsigned char[]>myArray(new unsigned char[3 * outputImageHight * outputImageWidth]);
Run Code Online (Sandbox Code Playgroud)