1

我定义了一张地图,

static std::map<std::string, std::string> myentries;

条目通过键和值字符串动态填充,元素和序列的数量是动态的..

myentries[key] = value; 

现在我必须从我知道键的地图中检索 7 个参数,例如, hostName, port, user1,user2user3

一种方法是访问所有 5 个参数并拥有 5 个语句,例如 ..

std::map<std::string, std::string>::iterator iterparam1 = entries_.find("hostName");

和访问iterparam1->second.data()iterparam2->second.data()..

这种简单的方法可以完成它的工作,因为我知道地图中的子集,但是我想讨论一下这种方法是否有任何替代方法,以及当前经文与建议/替代方法的优缺点。

谢谢你的时间 :)

4

1 回答 1

0

我认为您的方法的错误之处在于您决定保存主机参数的方式。比一组键值对更好地存储 Host 类型的结构(自定义结构)。否则,在您的代码中的某个时刻,您将不得不以某种方式将键名映射到结构中的实际字段,这将使代码难以维护并且更不安全。不要试图在课堂上工作。

于 2013-04-24T15:13:18.890 回答