inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

TypeCast

템플릿 문법적인 질문입니다

477

namopp

작성한 질문수 11

2

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

위와 같은 내용에서 typename 이 TypeAt 앞에 선언된 이유가 무엇인지 알 수 있을까요?

network MMORPG windows-server

답변 1

7

Rookiss

A name used in a template declaration or definition and that is dependent on a template-parameter is assumed not to name a type unless the applicable name lookup finds a type name or the name is qualified by the keyword typename.

요약하면, TypeAt<TypeList<Tail...>, index-1>::Result; 라고만 하면
이 Result가 타입을 의미하는건지, 아니면 값(멤버 변수)인지 컴파일러가 알지 못해 애매함이 생깁니다.
이런 모호함을 없애기 위해 표준에서 템플릿 인자에 의존적인 이름은
기본적으로 '타입'이 아닌 '값'으로 판정을 하고,
원래 의도가 타입을 지정하는거였다면
앞에다가 typename을 붙이게 되어 있습니다.

IocpObject가 없어질 수 있는 이유에 대한 질문입니다.

0

40

2

CS 기초 지식이 필요없는 세상이 오지 않을까요?

0

140

2

DeadLock 탐지에서 재귀 Lock 상황에 대해 궁금합니다.

0

93

2

LockFreeStack #2에서 ABA 문제

0

67

1

RefCounting 강의 질문있습니다.

0

88

2

writeLock을 잡을때 꼭 empty 상태여야하는 이유?

0

104

2

Memory Pool에서 오버플로우 질문입니다.

0

120

2

포토폴리오 및 진로 관련하여 고민입니다.

0

229

1

포토폴리오 관련 고민입니다.

0

132

1

실무에서도 alloc, 스마트포인터 등을 구현해서 쓰는지 궁금합니다.

0

140

2

성능 테스트 결과

0

141

2

게임 서버 Stateful, Stateless 진로 고민

0

180

1

WaitOnAddress와 Sleep의 차이 질문

0

133

1

궁금한거 있습니다.

0

122

2

JobTimer 구동 스레드

0

151

2

TryPop() 동작 관련 질문

0

114

1

로드맵 C#서버 C++서버 방향성 질문

0

203

2

스레드 id를 출력할떄 메인스레드 id도 출력되나요?

0

101

1

생명주기를 위한 의도적 복사

0

124

2

락프리의 실무에서 사용 질문

0

193

2

32bit threadID와 16비트 상위 WriteFlag에 대해

0

135

2

mutex와 sleep 차이점

0

158

1

실무에서는 어떠한 코드 스타일을 사용하는지 궁금합니다

0

198

2

Stomp Allocator의 Release함수에 대한 질문입니다.

0

127

1