vector vs unique_ptr to c style function

时间:2016-12-24 14:35:33

标签: c++ vector unique-ptr

当我与c风格的函数交互时,我应该使用哪种风格。

我计划在从c函数返回后将数据存储在向量中。一个优于另一个的优点是什么?

{
  auto test = std::make_unique<double[]>(10);
  fooCstyle(test);
}

{
  auto test = std::vector<double>;
  test.reserve(10);
  fooCstyle(test);
}

1 个答案:

答案 0 :(得分:1)

在这种情况下,它没有任何区别,这取决于您以后在cpp样式代码中对数据的处理。

但是你的例子是错误的,它应该是这样的:

std::vector<char> buffer(10);
cstyle(buffer.data());

std::unique_ptr<char[]> test { new char[10] };
cstyle(test.get());