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


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

  • 2016년 01월 08일에 작성됨

조회수 778


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');
  • 2016년 01월 08일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close