>백엔드 개발 >C++ >C에서 정적`std::map`을 초기화하는 방법은 무엇입니까?

C에서 정적`std::map`을 초기화하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-09 13:04:10184검색

How to Initialize a Static `std::map` in C  ?

C에서 정적 지도 초기화

C에서 정적 std::map 독특한 도전을 제시합니다. 초기화 목록이나 정적 함수를 사용하는 것과 같은 간단한 방법은 없습니다. 그러나 대체 솔루션을 제공하는 여러 접근 방식이 있습니다.

C 11 초기화 목록 사용

C 11에서는 맵을 초기화하는 데 사용할 수 있는 초기화 목록 구문을 도입합니다. 중괄호 안의 요소는 중괄호 쌍으로 묶여 있으며, 각 쌍은 키-값 쌍을 나타냅니다. 맵은 키를 기준으로 요소를 자동으로 정렬하므로 초기화 순서는 중요하지 않습니다.

#include <map>

using namespace std;

static map<int, int> m = {{1, 2}, {3, 4}, {5, 6}};

Boost.Assign 사용

Boost.Assign은 다음을 수행하는 라이브러리입니다. 맵 및 기타 데이터 구조를 초기화하기 위한 편리한 매크로를 제공합니다. 맵 내에서 키-값 쌍을 지정하기 위한 간결한 구문을 제공합니다.

#include <boost/assign.hpp>

using namespace std;
using namespace boost::assign;

static map<int, int> m = map_list_of(1, 2)(3, 4)(5, 6);

위 내용은 C에서 정적`std::map`을 초기화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.