---
title: "Öka en int i en map<>"
type: "forum-thread"
url: "https://www.webforum.nu/amne/c-cpp/100393-öka-en-int-i-en-map"
topic: "C/C++"
topic_url: "https://www.webforum.nu/amne/c-cpp"
author: "Viktor"
published: "2004-03-27T10:59:25.000Z"
updated: "2004-03-27T18:36:24.000Z"
replies: 3
views: 220
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/c-cpp/100393-öka-en-int-i-en-map"
---

# Öka en int i en map<>

## #1 — Viktor, 2004-03-27T10:59Z

Jag har en map\<string,int\> där jag vill öka int-en med 1 ofta (dvs göra en ++). Hur kan jag göra det?

Jag har provat med detta

```
m1=mp.find(str);
if(m1!=mp.end())
	m1->second++;
```

Men second verkar vara en const int. Men det är något liknande som jag vill göra.

/Viktor

Permalänk: https://www.webforum.nu/p/100393

## #2 — Viktor, 2004-03-27T12:12Z

Gick tydligen att lösa såhär istället,

```
if(mp[str]==NULL)
	mp.insert(make_pair(str,1));
else
	mp[str]++;
```

/Viktor

Permalänk: https://www.webforum.nu/p/1310563

## #3 — Sang-drax, 2004-03-27T18:32Z

Märkligt, i min värld skall second inte vara konstant.

Fungerar denna kod?

```
#include <map>

int main()
{
  typedef std::map<int,int> M ;
  M m;
  M::iterator i = m.find(3);
  i->second = 45;
}
```

Permalänk: https://www.webforum.nu/p/1310648

## #4 — Viktor, 2004-03-27T18:36Z

Efter lite mer tänkande kom jag på det "riktiga" felet

```
map<string,int>::[B]const[/B]_iterator m1;
```

:OO 
Japp, hjärnan är inte alltid inkopplad...

/Viktor

Permalänk: https://www.webforum.nu/p/1310652

---

Tråden på webben: https://www.webforum.nu/amne/c-cpp/100393-öka-en-int-i-en-map
