在C++中,STL映射(如std::map
和std::unordered_map
)在插入时会初始化基元类型。基元类型是指不是对象的简单数据类型,如int
、float
、char
等。当插入一个新的键值对时,STL映射会自动初始化基元类型的值,以确保它们具有可预测的默认值。
例如,如果我们有一个std::map<int, float>
,当我们插入一个新的键值对时,映射会自动将float
类型的值初始化为0.0。
#include<iostream>
#include <map>
int main() {
std::map<int, float> my_map;
// 插入一个新的键值对
my_map[42] = 13.37f;
// 输出映射中的值
std::cout << "Value at key 42: " << my_map[42]<< std::endl;
std::cout << "Value at key 0: " << my_map[0]<< std::endl;
return 0;
}
输出:
Value at key 42: 13.37
Value at key 0: 0
在这个例子中,当我们访问尚未插入值的键(例如0)时,映射会自动初始化该值为0.0。
领取专属 10元无门槛券
手把手带您无忧上云