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

조회수 4933회

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

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

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

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

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.