에 할당되지 않은 경우이 같은 뭔가를 :행동은 []에는 매핑 된 값이 키
gcc 및 cpluplus.com에서 문서에서#include <iostream>
#include <map>
int main() {
std::map<int, int*> mapaString;
int* teste = mapaString[0];
std::cout << teste << std::endl;
if(!teste)
mapaString[0] = new int(0);
std::cout << mapaString[0] << std::endl;
std::cout << mapaString[1] << std::endl;
return 0;
}
그냥 요소의 기본 생성자를 호출 할 것이라고 말했다 것 포인터를 초기화하지 않고 선언하면 값은 정의되지 않습니다.
키에 할당 된 매핑 된 값이없고 반환 유형이 포인터 인 경우 하위 연산자 ([])를 호출 할 때 반환되는 값이 NULL 포인터가 될 수 있습니까?
이 질문과 유사합니다 : http://stackoverflow.com/questions/936999/what-is-the-default-constructor-for-c-pointer – TheUndeadFish
@ TheUndeadFish 네, 본질적으로 동일합니다. 고마워, 나는지도 컨테이너에 대해서만 조사했다. – coelhudo