2017-05-30 25 views
-5

我想通过std线程类将某些数据数组传递给函数。我得到错误与当前的方法参数,它采用C数组。超出C数组,向量或标准数组,这将是与std线程一起使用的最佳结构?我需要通过引用传递这些数组,并能够在函数完成后访问它们。与std线程,C数组,向量或std数组一起使用的最佳数组类型?

+3

为什么不发布代码和错误,并寻求帮助,而不是主观的“最好的方式”来做到这一点? – NathanOliver

+1

如果您的函数通过引用获取参数,'std :: thread'不会直观地表现出来。确保在必要时使用['std :: ref'](http://en.cppreference.com/w/cpp/utility/functional/ref),以确保引用实际上使用的参数。 –

回答

0

如果你知道在编译时的大小,然后用std::arraystd::vector::resize一个std::vector,否则只使用一个std::vector

真的不需要在C++中使用任何c风格,特别是在线程中,因为c函数不需要是线程安全的。

+0

我不知道在编译时的大小,那么这种情况下最好的方法是什么? – bakalolo

+0

@bukalolo然后使用std :: vectors。 –

相关问题