我有一个关于从 std::vector 转换为数组的问题。 我有一个指向对象的指针 vector 。如何将其转换为 C++ 中对象的指针数组?
vector 是
std::vector<pin*> *_PINS
我想把它转换成
pin** pins_arr
我已经尝试了此处建议的所有内容,但不起作用
我想它不起作用的原因是因为我有指向对象的指针作为类型而不是基本类型。
你能帮我解决这个问题吗?我整个早上都被困住了。
谢谢,
最佳答案
编辑:如果你真的坚持做这样的转换,我想你可以按这个顺序做一些事情:
std::vector<PIN *> *_PINS;
_PINS = new std::vector<PIN *>;
// make life a little easier:
std::vector<PIN *> tmp = *_PINS;
PIN *pins = new PIN *[10];
for (int i=0; i<10; i++)
pins[i] = tmp[i];
PIN **ppins = &pins;
不过,我必须同意 Ed.S 的观点——你在这里所做的事情首先违背了使用 std::vector 的大部分目的,坦率地说,这让我有点震惊愚蠢。
关于c++ - 在 C++ 中将 vector 转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9710347/