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

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

1답변

  • 좋아요

    0

    싫어요
    채택취소하기

    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');
    

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.