【发布时间】:2011-11-21 23:37:23
【问题描述】:
我已经阅读了cplusplus.com 上的map::map 参考资料,但我仍然不确定如何让它发挥作用。我要做的就是创建一个如下所示的地图:
std::map<TriSpec, unsigned int> TriSpecMap;
那我想插入如下:
result = TriSpecMap.insert(std::make_pair(triSpecObject, anUnsignedInt));
以下是我的 TriSpec 标头和 .cpp 的简短示例:
//TriSpec.h
#ifndef TRISPEC_H
#define TRISPEC_H
class TriSpec
{
public:
TriSpec(void);
~TriSpec(void);
unsigned int m_position;
};
bool operator< (const TriSpec& lhs, const TriSpec& rhs);
#endif
//TriSpec.cpp
#include "TriSpec.h"
TriSpec::TriSpec(void){}
TriSpec::~TriSpec(void){}
bool operator< (const TriSpec& lhs, const TriSpec& rhs)
{
if (lhs.m_position < rhs.m_position) return true;
else return false;
}
我是否重载了正确的运算符?我使用的功能/格式是否正确?当我查看result.second 时,它始终是true,即使我知道要插入的对象应该已经存在于地图中。
【问题讨论】:
标签: c++ dictionary stl insert containers