C ++将std :: vector <char *>转换为char **

时间:2015-12-30 16:03:15

标签: c++ casting stdvector

如何在C ++中将或转换 std :: vector转换为char **?

我正在使用std :: vector,因为我需要在循环中push_back一些字符串,但是我必须调用一个需要char **的C函数。

2 个答案:

答案 0 :(得分:4)

std::vector::data将生成char**,但如果向量上发生重新分配,此指针可能会失效。

另外,&vec[0]是另一种产生可变指针的技术,但你需要小心这种方法。

答案 1 :(得分:1)

使用数据方法: http://en.cppreference.com/w/cpp/container/vector/data
这将返回指向矢量数据的指针