标签: c++
由于索引缺失而导致插入地图的指针总是为空吗?
std::map<int, Foo*> myMap; Foo* myFoo = myMap[0];
myFoo是否保证为NULL?
答案 0 :(得分:2)
来自cppreference:
如果执行插入,则映射的值是值初始化的(默认为类类型构造,否则为零初始化)并返回对它的引用
所以是的,这保证是NULL。
NULL
答案 1 :(得分:0)
是的,当访问缺少的索引时,它是值初始化的,这意味着在这种情况下返回空指针(因为它是标量值)。
来源:http://en.cppreference.com/w/cpp/container/map/operator_at