前些天,哥们又犯晕了: 自己定义了一个容器: typedef std::map<string, string> MapKeyValue; typedef std::map<string, MapKeyValue> MapSection; 想用这个MapSection当容器来临时存储.ini 文件的section, key, value. 对于一个容器常用不过的方法就是添加数据了. 于是乎哥们就想到insert, 过来一个就insert一个,无非就是再判断一下: 是否当前已经有了此section,key等条件.于是乎写了:
bool MyIniFileTool:: AddSectionKeyValue(string& section, string& key, string& value)
{
.................
if(section存在/相同)
{
if(key不存在/不相同) //
{
mMyMapSections.insert(......);
}
if(value不存在/不相同)
{
mMyMapSections.insert(.......);
}
}
else // section 不存在,那么就插入
{
mMyMapSections.insert(........);
}
...................
return true;
}
看看这么长的代码,容易晕吧,后来发现只需要一句话就行了:
bool MyIniFileTool:: AddSectionKeyValue(string& section, string& key, string& value)
{
mMyMapSections[section][key] = value;
}
那些判断语句都是自己瞎操心. 咳, 共勉了,