C++程序中与map有关的问题
首先有一个定义:map<int,int>f;又有一个int类型的数n,不妨设n=10;这时我还没有赋值f[10],请问如果引用f[10],程序会出现错误吗?如果会,请说出...
首先有一个定义:map<int, int>f;
又有一个int类型的数n, 不妨设n = 10;
这时我还没有赋值f[10], 请问如果引用f[10], 程序会出现错误吗?
如果会, 请说出错误原因, 如果不会, 请告知引用后f[10]的值。
谢谢。 展开
又有一个int类型的数n, 不妨设n = 10;
这时我还没有赋值f[10], 请问如果引用f[10], 程序会出现错误吗?
如果会, 请说出错误原因, 如果不会, 请告知引用后f[10]的值。
谢谢。 展开
1个回答
展开全部
来自stl_map.h
// [23.3.1.2] element access
/**
* @brief Subscript ( @c [] ) access to %map data.
* @param k The key for which data should be retrieved.
* @return A reference to the data of the (key,data) %pair.
*
* Allows for easy lookup with the subscript ( @c [] )
* operator. Returns data associated with the key specified in
* subscript. If the key does not exist, a pair with that key
* is created using default values, which is then returned.
*
* Lookup requires logarithmic time.
意思是说
operator[]提供了访问map数值的方法
参数是数值的key,返回data的引用
如果key不存在,那么建立这个key-value对,并用默认值给data赋值。
因此你的问题,结果是0.
// [23.3.1.2] element access
/**
* @brief Subscript ( @c [] ) access to %map data.
* @param k The key for which data should be retrieved.
* @return A reference to the data of the (key,data) %pair.
*
* Allows for easy lookup with the subscript ( @c [] )
* operator. Returns data associated with the key specified in
* subscript. If the key does not exist, a pair with that key
* is created using default values, which is then returned.
*
* Lookup requires logarithmic time.
意思是说
operator[]提供了访问map数值的方法
参数是数值的key,返回data的引用
如果key不存在,那么建立这个key-value对,并用默认值给data赋值。
因此你的问题,结果是0.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询