C++

16.맵(map)

seqw 2021. 5. 25. 22:16

1. map

 

.h

#pragma once
#include<iostream>
#include<map>

using namespace std;

class Test01
{
private:

	map<int,const char*>		_map;  //1.
	map<int,const char*>::iterator	_mapn; //2.

public:
	Test01();
	~Test01();
};

1. map<키값,저장 정보>
2. 이터레이터 선언

 

.cpp

 

#include "Test01.h"

Test01::Test01()
{
	//1.
	_map.insert(pair<int, const char*>(1,"하나!"));
	_map.insert(pair<int, const char*>(2, "둘!"));
	_map.insert(pair<int, const char*>(3, "삼!"));
	_map.insert(pair<int, const char*>(4, "넷!"));
	_map.insert(pair<int, const char*>(5, "오!"));
	_map.insert(pair<int, const char*>(6, "여섯!"));
	
}

Test01::~Test01()
{
}

void Test01::viewTest01(int i)//2.
{
	_mapn = _map.find(i);//3.
	if (_mapn != _map.end())//4.
	{
		cout << _mapn->second << endl;//5.
	}
}

1. map에 값 입력 map은 .insert()로 값을 입력할 수 있다.
_map.insert(pair<키값 타입,정보 타입>(키값 입력,정보 입력));

2. 특정 map의 정보를 확인하는 함수 정의.

3. _mapn = _map.find(i); _mapn에 i와 같은 값을 가진 키값을 가진 맵의 주소를 저장
만약 i와 같은 값을 가진 키값이 없다면 .end()의 값을 반환함

4. _mapn의 값이 _map.end() 와 다르다면
5. _mapn에 저장된 주소의 값중 second의 값을 출력