2007년 2월 13일 화요일

std::map 초기화 해주나?

#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++에도 자동 초기화 바람이 불고 있는겐가?