Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
嗨,我想知道我是否有一个以 int 作为元素和 int 列表作为值的地图,并且我尝试访问不在地图中的键。运算符返回一个默认值。但是什么是 list 的默认值?默认构造函数?
是的,它会默认构建一个列表。见这里。
如果这不是您想要的行为,您可以使用std::map::at(参见此处)而不是std::map::operator[]访问元素,如果键不存在,这将引发异常,而不是插入新元素。
std::map::at
std::map::operator[]
注意:我的回答假设您std在问题中指的是命名空间。
std
如果key不在地图中,则operator []插入一个新元素key并使用,您可以在此处default constructor阅读更多信息
key
operator []
default constructor
构造容器的默认构造函数。std::listempty
std::list
empty