vector 和數組 之間的轉化


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));  
}  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM