gpt4 book ai didi

c++ - 重新分配 boost::shared_array

转载 作者:行者123 更新时间:2023-11-28 01:09:10 25 4
gpt4 key购买 nike

我有一个共享数组:boost::shared_array myarr(new char[m_length]);

我想重新分配数组。我想创建一个具有所需大小的新 shared_array 并使用 swap boost 方法,但这也会复制引用计数。你有别的想法吗?

//new_length>m_length
void func(boost::shared_array<char> &myarr,int new_length)
{
boost::shared_array<char> new_arr(new char[new_length]);
myarr.swap(new_arr);
}

最佳答案

为什么不直接使用 boost::shared_ptr<std::vector<char> > ?让标准库处理调整大小。

(事实上,根据您最初使用 shared_array 的原因,您可能只使用 std::vector 并通过引用小心地传递它。)

关于c++ - 重新分配 boost::shared_array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4369772/

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