我已经定义了一张地图,
static std::map<std::string, std::string> myentries;
条目通过键和值字符串动态填充,元素和序列的数量是动态的。
myentries[key] = value;
现在我必须从地图中检索7个参数,例如hostName
,port
,user1
,user2
,user3
一种方法是访问所有5个参数,并有5个语句,如..
std::map<std::string, std::string>::iterator iterparam1 = entries_.find("hostName");
并访问iterparam1->second.data()
,iterparam2->second.data()
..
这个简单的方法完成了它的工作,因为我知道地图中的子集,但是我想讨论是否有任何替代方式,以及当前经文的建议/替代方法的优点和缺点..
感谢您的时间:)
答案 0 :(得分:0)
我认为您的方法的错误在于您决定保存主机参数的方式。更好地存储Host(自定义结构)类型的结构而不是一组键值对。否则,在代码中的某个时刻,您将不得不以某种方式将键名映射到结构中的实际字段,这将使代码难以维护并且不那么安全。不要试图在课堂上工作。