初始化静态 std::map
在 C 中处理静态映射时,出现了如何正确初始化它们的问题。
要初始化静态映射,一种可能的方法是使用处理初始化过程的静态函数。然而,由于 C 11,有一种更方便、更现代的方法可用。
使用 C 11 的初始化列表语法,您可以按如下方式初始化静态映射:
#include <map> using namespace std; static std::map<int, int> myMap = {{1, 2}, {3, 4}, {5, 6}};
的顺序初始化列表中的元素是无关紧要的,因为映射会自动按元素的键对元素进行排序。这种方法可以轻松简洁地初始化静态映射。
或者,您可以利用 Boost.Assign 库来初始化静态映射,提供另一个方便的选项。
例如,使用 Boost。分配:
#include <map> #include "boost/assign.hpp" using namespace std; using namespace boost::assign; static std::map<int, int> myMap = map_list_of(1, 2)(3, 4)(5, 6);
这两种方法都提供了在 C 中初始化静态映射的高效且简单的机制。
以上是如何在 C 中有效地初始化静态 `std::map` ?的详细内容。更多信息请关注PHP中文网其他相关文章!