如何编写类似GetObject这样的函数?
大侠,先看代码:我想通过一个函数GetTest,从m_mapTest这个map中获得指定ID的Test对象,但不希望获得这个对象在map中的指针(因为我需要对取得的对象进...
大侠,先看代码:
我想通过一个函数GetTest,从m_mapTest这个map中获得指定ID的Test对象,但不希望获得这个对象在map中的指针(因为我需要对取得的对象进行改变,但不想影响map中对应ID的该对应)
下面代码获得了map中对应ID的Test对象的指针,只要改变了GetTest方法返回的Test指针,就会随之改变map中对应ID的Test对象,但这不是我希望的。
请问大侠,我该怎么写?
hash_map<int,Test> m_mapTest;
struct Test
{
int num;
};
Test* GetTest(int id)
{
hash_map<int,Test>::iterator it = m_mapTest.find(id);
if (it!=m_mapTest.end())
{
return &(it->second);
}
return NULL;
} 展开
我想通过一个函数GetTest,从m_mapTest这个map中获得指定ID的Test对象,但不希望获得这个对象在map中的指针(因为我需要对取得的对象进行改变,但不想影响map中对应ID的该对应)
下面代码获得了map中对应ID的Test对象的指针,只要改变了GetTest方法返回的Test指针,就会随之改变map中对应ID的Test对象,但这不是我希望的。
请问大侠,我该怎么写?
hash_map<int,Test> m_mapTest;
struct Test
{
int num;
};
Test* GetTest(int id)
{
hash_map<int,Test>::iterator it = m_mapTest.find(id);
if (it!=m_mapTest.end())
{
return &(it->second);
}
return NULL;
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询