Creative Commons License

std::map 초기화 해주나? IT



#include <iostream>
#include <map>

using namespace std;

typedef map<int, int> map_t;

int
main(int,char**)
{
    map_t storage;
    cout << storage[20] << endl;

    return 0;
}
요즘 대세에 걸맞게 Syntax highlighting을 완벽한 수동으로 구현해보았다. 젝필드 삼종세트...

각설하고 저걸 컴파일해서 실행하면 어떤 결과가 나올까? 그냥 딱! 생각해봐도 쓰레기값이 나올 것 같지 않은가? 아래와 같은 옵션으로 컴파일해서 실행했더니... orz OTL
$ g++ -O3 map.cpp -o map -DNDEBUG
$ ./map
0
아놔... 언제부터인지 C++에도 자동 초기화 바람이 불고 있는겐가?

덧글

  • chadr 2007/02/13 15:41 # 삭제

    저거 잘못된 인덱스 참조이니까 뻑나야할것 같은데ㄱ-
    gcc에 있는 stl map의 []연산자가 그렇게 구현되어있나봐요..

    없는 인덱스의 경우에는 기본 생성자를 호출하도록..
  • 샘이 2007/02/13 16:07 #

    map에서 [] 연산자는 없는 항목은 자동으로 추가해준다. 멋지지?
※ 이 포스트는 더 이상 덧글을 남길 수 없습니다.

Google Adsense

Google Adsense

Google Analytics



C로그팬박스