1、數組轉vector
float arrHeight[] = { 1.68,1.72,1.83,2.05,2.35,1.78,2.1,1.96 };
vector<float> vecHeight(arrHeight, arrHeight+sizeof(arrHeight)/sizeof(float));
2、vector轉數組
由於vector內部的數據是存放在連續的存儲空間,vector轉數組事實上只需要獲取vector中第一個數據的地址和數據的長度即可。如果僅僅是傳參,無需任何操作,直接傳地址即可,如果要進行數據復制,可以借用內存拷貝函數“memcpy”。例如:
float *buffer = new float[sizeof(arrHeight)];
if (!vecHeight.empty())
{
memcpy(buffer, &vecHeight[0], vecHeight.size()*sizeof(float));
}