从映射中访问少量参数
access few parameters from a map
我已经定义了一个映射,
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()
..这个简单的方法完成了它的工作,因为我知道地图的子集,但是我想讨论一下是否有任何替代方法的优点和缺点,当前的建议/替代方法。
谢谢你的时间:)
我认为您的方法是错误的,您决定保存主机参数的方式。最好存储Host类型的结构(自定义结构),而不是一组键值对。否则,在代码中的某些地方,您将不得不以某种方式将键名映射到结构中的实际字段,这将使代码难以维护且不太安全。
相关文章:
- 使用不带参数的函数访问结构元素
- 从C++dll访问C#中的一行主要参数
- 函数是否可以访问传递给main()的参数
- 使用c#访问c++dll中带有char*参数的函数时发生AccessViolationException
- 如何从其他功能C++访问参数?
- 读取大文件(>2GB)(文本文件包含以太网数据)并通过不同参数随机访问数据的最佳方法是什么?
- 如何访问模板参数自己的模板参数?
- 如何访问QT中传递给程序的参数
- 从模板参数包实例化的访问类实现
- 限制多模板参数朋友函数可访问的类实例的范围
- 在将向量作为参数传递给函数后,我无法访问函数中向量的元素
- 使用指针访问参数接收的结构中的元素时内存泄漏
- 从析构函数访问模板类构造函数的参数,可以吗?
- 仅当构造函数具有参数时,C++ 公共成员才能访问
- C/C++ 包含点的宏参数(成员访问运算符)
- 处于默认参数位置的 Lambda 无法访问好友成员。这是编译器错误吗?
- 在函数中使用 const 引用参数访问函数中成员的最佳实践 C++.
- 使用 cv::P oint 作为参数访问图像
- 在 c++ 中使用数组参数访问单个元素的字符
- 是否可以从参数访问成员名称