静的 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 を使用します。 Assign:
#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 中国語 Web サイトの他の関連記事を参照してください。