に割り当てられていないとき、私はこのようなものを持っている:挙動[]は何もマッピングされた値がキー
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