【发布时间】:2013-11-22 19:45:28
【问题描述】:
正如有人指出的那样,看起来使用数组向量通常比使用指针数组更合理;所以在这里我有一个指针数组,我想将其转换为数组向量:
char ** ptr;
char * ptrContiguous;
ptr = new char*[numChannels];
ptrContiguous = new char[x*y*byteSize*nC*nM*nZ*nT];
char * p = ptrContiguous;
for(int i = 0; i < numChannels; i++)
{
ptr[i] = p;
p += x*y*byteSize;
}
我的问题是:只有 ptr 需要转换为向量,对吗?有人可以写一些简单的代码来说明数组到向量的转换吗?谢谢。
【问题讨论】:
-
最好将其转换为字符串向量 -
std::vector<std::string>。 -
@DanielKamilKozar:你能写一些真正有用的简单代码吗?谢谢。
-
@NickXTsui
std::vector<std::string> myvec( ptr, ptr+numChannels); -
@KitsuneYMG 那么其余的都一样吗?如何执行 for 循环以在 myvec 的意义上分配 ptr[i]?
-
而且 ptr 应该仍然保留为 char** 吗?我认为重点是使用向量来替换 char*[]
标签: c++ arrays pointers vector