由于vector内部的数据是存放在连续的存储空间,vector转数组事实上只需要获取vector中第一个数据的地址和数据的长度即可。如果仅仅是传参,无需任何操作,直接传地址即可,如果要进行数据复制,可以借用内存拷贝函数“memcpy”。例如:
float *buffer = new float[sizeof(arrHeight)]; if (!vecHeight.empty()) { memcpy(buffer, &vecHeight[0], vecHeight.size()*sizeof(float)); }