我有map<string, inode_ptr> directories
我想检索与某个键相关联的值。
所以我这样做了:inode_ptr i = directories.find("string");
但它返回字符串键,我该怎么办?
答案 0 :(得分:3)
使用以下方法
inode_ptr i = NULL;
auto it = directories.find("string");
if ( it != directories.end() ) i = it->second;
编写
可能更好inode_ptr i = {};
而不是
inode_ptr i = NULL;
答案 1 :(得分:1)
放手一搏:
inode_ptr myInode = NULL;
map<string, inode_ptr>::iterator i = directories.find("string");
if ( i != directories.end() )
{
myInode = i->second;
}
else
{
cerr << "no 'String' in the map, I should be "
<< "sure to check for null before using myInode" << endl;
}
以下是上述评论中引用的精细手册的链接: