0
struct POINT3DID 
{
    unsigned int newID;
    float x, y, z;
};

typedef std::map<unsigned int, POINT3DID> ID2POINT3DID;

ID2POINT3DID m_i2pt3idVertices;

x,y and z誰かが使用して変数にアクセスする方法を教えてもらえますかm_i2pt3idVertices

4

3 に答える 3

2

m_i2pt3idVerticesPOINT3DIDオブジェクトを格納するためのコンテナです。x単独では、メンバー変数、、、yまたははありませんz。あなたはそれの中に置くことができPOINT3DIDます:

m_i2pt3idVertices[0] = POINT3DID(); // Put a POINT3DID into key 0

m_i2pt3idVertices[0].x = 1.0f; // Assign x for key 0
m_i2pt3idVertices[0].y = 2.0f; // Assign y for key 0
m_i2pt3idVertices[0].z = 3.0f; // Assign z for key 0
于 2013-03-27T05:13:12.507 に答える
1

イテレータを使用する必要があります。サンプルは次のとおりです。

std::map<unsigned int, POINT3DID>::iterator it;
it = m_i2pt2idVertices.find(5);
it->second.x = 0;
it->second.y = 1;
it->second.z = 2;
于 2013-03-27T05:13:53.740 に答える
1

ID2POINT3DIDマップコンテナです。unsigned intいくつかのキーで単一の要素にアクセスできます。

m_i2pt3idVertices[42].x

または、コンテナ内の要素を反復処理できます。

for(ID2POINT3DID::iterator it=m_i2pt3idVertices.begin();it!=m_i2pt3idVertices.end();++it) {
        cout << it->second.x << " " << it->second.y << " " << it->second.z << endl;
}
于 2013-03-27T05:14:42.300 に答える