我有一个带有这样签名的函数:
void foo(const std::vector<std::string>& args)
{
...
}
我想将矢量转换args
为const char **
(就像argv
在 main 中一样)。如何做到这一点?我们实际上无法创建一个char **
数组,因为它(显然)无法将args[i].c_str()
类型转换const char *
为char *
.
我能想到的唯一(丑陋的)方法是使用const_cast
to cast from const char *
to char *
。
有人会建议更优雅的方式吗?我应该注意我只能使用 c++03 功能。
提前致谢。