【发布时间】:2018-07-16 15:30:16
【问题描述】:
假设我有一个vector<string> input,我需要将它传递给一个接受const char** 参数的函数。我的想法是像这样使用unique_ptr:
const auto output = make_unique<char*>(size(input));
但我似乎无法将const unique_ptr<const*> 变成const char**。有没有办法做到这一点,或者更简单的替代方案?
【问题讨论】:
-
@Ron Well...
unique_ptr是标准对象的名称,因此保留其大小写似乎是正确的... -
const*应该是什么? -
该函数是否采用
char**以便它可以更改char*指向的内容,还是需要一个字符串数组? -
@MilesBudnek 该函数位于 C-API 中。它正在对所有字符串进行深度复制。所以我们实际上是在谈论
const char* const*,但出于这个问题的目的,我们可能应该像我不知道那样对待它,它实际上是在要求const char*。 -
@JonathanMee 我非常确信您确实编写了数组过载,以至于我的大脑完全关闭了。
标签: c++ unique-ptr c-strings char-pointer const-char