전역변수 std::map<int, int> 초기화하는 방법

조회수 8835회

map이 전역변수인 경우엔 초기화하려면 어떻게 해야 하나요? static function을 써야 하나요?

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    1. C++11에서

    #include <map>
    using namespace std;
    
    map<int, char> m = {{1, 'a'}, {3, 'b'}, {5, 'c'}, {7, 'd'}};
    

    2. 함수를 정의해서

    map<int,int> create_map()
    {
        map<int,int> m;
        m[1] = 2;
        m[3] = 4;
        m[5] = 6;
        return m;
    }
    map<int, int> mymap = create_map();
    

    3. Boost.Assign 사용

    #include <map>
    #include "boost/assign.hpp"
    using namespace std;
    using namespace boost::assign;
    
    map<int, char> m = map_list_of (1, 'a') (3, 'b') (5, 'c') (7, 'd');
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)