VC++ Vector取數據,慎用memcpy


 

struct Vision3PosInfo
{    
    bool bAllLineFind;
    double dRotateAngle;
    dLine lines[12];
    CString sNumber;

    Vision3PosInfo()
    {
        bAllLineFind = false;
    }
};


std::vector<Vision3PosInfo> m_Vision3PosInfoVec;

for (vector<Vision3PosInfo >::iterator it = m_Vision3PosInfoVec.begin(); it != m_Vision3PosInfoVec.end(); ++it)
            {
                if (sNumber == (it)->sNumber)
                {
                    vision3Pos = *it;                          //使用用直接賦值即可
                    //memcpy(&vision3Pos, &(*it), sizeof(Vision3PosInfo));      //不能用memcpy,當成員有CString,string,會發生不可預知錯誤。因數據大小不可預知。
                    m_Vision3PosInfoVec.erase(it);
                    bfind = true;
                    break;
                }
            }

 

  


免責聲明!

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



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