std :: map :: insert返回值?

时间:2015-06-26 03:45:20

标签: c++ graphics

typedef TriIndex ...
typedef std::map< TriIndex, unsigned int > VertexMap;
VertexMap vertex_map;

for ( size_t i = 0; i < face.size(); ++i ) { 
    for ( size_t j = 0; j < 3; ++j ) {
        std::pair< VertexMap::iterator, bool > rv = vertex_map.insert( std::make_pair(     face.v[j], vert_idx_counter ) );
        if ( rv.second ) {
            //do stuff
        }
    }
}

我从opengl初学者代码中取出了一个片段。我得到它正在做的事情,除了以下一行:

std::pair< VertexMap::iterator, bool > rv = vertex_map.insert( std::make_pair(     face.v[j], vert_idx_counter ) );

我知道该行声明了一个名为rv的对,它带有迭代器和布尔值 - 。 但是在右侧,有vertex_map.insert - 但据我所知,insert是一个void函数。如何从插入一对到顶点图得到一对?

1 个答案:

答案 0 :(得分:0)

vertex_map与'std :: map&lt;相同TriIndex,unsigned int&gt;'所以你要调用地图的插入功能,请参阅文档以获取更多详细信息std::map::insert