当我与c风格的函数交互时,我应该使用哪种风格。
我计划在从c函数返回后将数据存储在向量中。一个优于另一个的优点是什么?
{
auto test = std::make_unique<double[]>(10);
fooCstyle(test);
}
或
{
auto test = std::vector<double>;
test.reserve(10);
fooCstyle(test);
}
答案 0 :(得分:1)
在这种情况下,它没有任何区别,这取决于您以后在cpp样式代码中对数据的处理。
但是你的例子是错误的,它应该是这样的:
std::vector<char> buffer(10);
cstyle(buffer.data());
或
std::unique_ptr<char[]> test { new char[10] };
cstyle(test.get());