|
1
26
是的,你不能用
就像指针一样。你不能分配
|
|
|
2
7
当您使用运算符[]时,std::map将查找具有给定键的项。如果找不到,它就会创建它。因此,const存在问题。 使用“查找”方法,您会没事的。 您能否发布有关如何使用find()的代码? 正确的方法是:
|
|
|
3
4
std::map::at 应该对你有用。 原因 std::map::operator[] 不起作用的是,如果您要查找的键在映射中不存在,它将使用提供的键插入新元素并返回对它的引用(有关详细信息,请参阅链接)。这在const std::map上是不可能的。 但是,如果密钥不存在,“at”方法将抛出异常。也就是说,在尝试使用“at”方法访问元素之前,最好使用std::map::find方法检查密钥是否存在。 |
|
|
4
2
可能是因为std::map中没有常量运算符[]。运算符[]将添加您要查找的元素(如果找不到)。因此,如果要在不添加任何内容的情况下进行搜索,请使用find()方法。 |
|
|
5
2
find()有两个重载:
我的
猜测
您之所以会出现此错误,是因为您正在执行类似于将非常量迭代器(位于左侧)分配给
这将导致一个错误,尽管可能不是您看到的错误。 |
|
|
BitLauncher · 甲骨文-如何模拟位列和布尔和/或? 4 年前 |
|
|
Ahmed Atteya · C++std::map在未找到键时添加值 9 年前 |
|
|
Jumogehn · C++中有符号运算符吗? 9 年前 |
|
|
giraffehere · 序列的奇数行为[重复] 10 年前 |
|
|
DarthRubik · 如何判断“->”运算符是否最终返回类型? 10 年前 |
|
|
SAR · php中的运算符优先级[重复] 10 年前 |
|
|
alvas · 如何在未知长度的计数器列表中使用并集和交集?[副本] 10 年前 |
|
|
Droidum · Java OR运算符快疯了 11 年前 |
|
|
JWki · 错误C4716:必须返回一个值,由实际返回值的函数抛出 11 年前 |
|
|
Daniel Grooms · C++上三角矩阵括号运算符 11 年前 |