inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

map #1

map을 공부하던중.. m.insert(pair<int, int>(i, i * 100));

해결된 질문

468

루키스팬

작성한 질문수 8

0

안녕하세요.

오늘 map 을 공부하던중..

pair<int,int>(i,i*100) -> 이 부분이 도대체 무슨 소리인지 모르겠더라구요.. 이름이 없어서 생성자도 아니고 operator도 아니고 1시간 구글링 결투끝에 임시객체라는 표현을 알게되었어요.

Q1

임시객체가 무엇을 반환하는지가 궁금합니다..!

코드상으로는 key 랑 value를 반환하는 것 같긴한데..

내부를 살펴볼려해도 외계어가 난무해서 물어봅니다

ㅠㅠ

 

 

제가 너무 깊게 알려는건지 아니면 기초지식이 부족한건지 잘모르겠네요 하하..

 

c++

답변 2

1

Rookiss

image... (생략)

imagepair는 단순하게 struct이고 key, value 형태를 템플릿으로 받게 되어 있습니다.
image
직접 구현한다면 위와 같은 느낌인 것이죠.

C++에서 struct와 class는 거~의 차이가 없습니다.
struct로 객체를 만들 수 있는데, 그 객체 생성자를 통해
key는 i, value는 i*100을 넣어준 상태인 것이죠.

임시 객체란 말 그대로 임시로 사용하다 사용하는 객체,
즉 변수를 통하지 않고 넘긴 것을 의미하는데요.
image요렇게 만들어도 동일하겠지만 굳이 불필요하게 p라는 지역 변수를 사용할 필요는 없겠죠?
그래서 한 번에 insert(pair<int, int>(10, 100)) 형태로 사용하게 되는 것이고
임시 객체를 사용하면 최적화에도 도움이 됩니다. (이동 연산이 가능해서)

0

루키스팬

감사합니다 도움이 되었어요!

0

닉네임네닉

삭제된 글입니다

0

루키스팬

pair는 구조체로 이루어져있는데 구조체는 객체가 아니지 않나요?

1

닉네임네닉

강사님이 전에 언급하셨듯이 구조체랑 클래스랑 사실 다를게 없고 굳이 다른점은 기본 접근지정자가 public이냐 private 이냐 차이밖에 없습니다. 그래서 구조체로 선언하든 클래스로 선언하든 다 객체에요 (클래스=객체가 아니라 클래스를 이용해 데이터를 선언하면 객체가 되는거죠)

덧붙여서 몇몇 책에서는 그냥 변수도 객체라고 하는 경우도 있어요. 타입을 이용해 메모리에 실체화하는것이 객체라면, 구조체를 이용하든 클래스를 이용하든 기본타입을 이용하든 다 객체인거죠

소스코드와 관련하여 질문드립니다

0

70

1

map 컨테이너의 emplace 함수에 대해

0

114

2

시작이 안되네요...!

0

97

2

EAX 명령어 실행 시 RAX의 상위 32비트가 초기화 되는 이유

0

126

1

리틀 엔디안 장점 질문합니다.

0

131

1

메모리 창에 주소를 넣었는데 영어 꺠짐

0

124

1

타입변환#2 build시 knight 인접 stack이 침범당했다는 error가 발생합니다.

0

94

2

map #1 8분 58초 맵은 레드블랙트리로 이루어진 것 같습니다.

1

139

2

hello world 부터 오류 ㅠㅜ

0

189

1

지역변수가 스택? 레지스터

0

132

2

마지막 문제 질문드립니다.

0

165

2

메모리창이 비활성화됩니다.

0

98

1

이중포인터 강좌 부분 질문있습니다.

0

145

1

2를 더하는 이유

0

133

1

메모리 주소 창 엔디안 질문 드립니다. 인프런 봇 답변도 괜찮습니다

1

111

1

해당 코드는 왜 오류가 날까요?

0

155

1

마지막 문제 질문 있습니다.

0

119

1

강의 마지막부분에 질문이 있습니다.

0

192

2

Field초기화

0

141

1

virtual과 override 차이

0

315

2

3:30 참조자 리턴

0

168

1

map 찾기

0

158

1

프로그램 질문드려요

0

260

1

캐스팅 질문

0

138

1