inflearn logo
강의

Course

Instructor

[MMORPG Game Development with C++ and Unreal Engine Series] Part 3: Data Structures and Algorithms

Priority Queue Implementation Practice

Container, Predicate 질문입니다.

395

sn94372102

4 asked

0

template에서 template <typename T, typename Container = std::vector<T>, typename Predicate = std::less<T>> 이렇게 정의 해주시고 클레스 내부에서

 

Container _heap = {};

Predicate _predicate = {};

이런식으로 빈객체를 만들어 주셨다고 하셨는데 저는

 

template에서 typename Predicate는 std::less<T>를 Predicate로 그냥 정의한 것이고,

내가 새롭게 정의한 자료형? 이기때문에

Predicate(자료형) predicate = {} (중괄호 초기화로 기본생성자 호출하여); => Predicate라는 자료형을 가지는 변수이름이 _predicate인 객체를 만들었다는 뜻인가요??

기술면접

Answer 1

0

Rookiss

typename Predicate에서 Predicate은 새로 정의한 자료형은 아니고
template 특성상 조커 카드처럼 우리가 아무거나 넣어줄 수 있는 것입니다.
typename Predicate = less<T>의 의미는, 아무것도 설정하지 않으면
less<T>로 간주하겠다는 의미이지 Predicate이라는 새로운 자료형을 정의하는게 아닙니다.

하지만 그 다음 Predicate _predicate;으로 해당 타입의 멤버 변수를 이용해
Predicate 타입의 _predicate 객체를 만든 것은 맞습니댜ㅏ.

헤더파일에 관한 질문

0

437

1

이진 탐색 트리 삭제 질문

0

700

1

해당 문제 유형을 수학적으로 표현 가능할까요?

0

505

1

vs2022 미로 줄간격

0

1589

2

pos 구조체 초기화 문제

0

498

0

맵이 이상하게 나오는데 무슨 문제인가요?

0

513

1

자동완성 기능 질문

1

521

2

push_back emplace_back 질문있습니다.

0

397

1

_size - 2 질문

0

417

1

Disjoint Set 질문있습니다

0

429

1

우선순위 큐 구현 연습 intellisense 질문

0

401

1

int32 관련 질문

0

278

1

c++에서 처음 보는 문법

0

385

1

학습에 크게 지장이 있는건 아니지만 단순 궁금해서 질문드립니다

0

324

1

힙 정렬과 병합 정렬

0

424

1

resize 질문

0

261

1

처음 보는 for문 문법

0

387

1

환경 설정.. 궁금점

0

388

1

이 비교 연산자를 넣어주는 이유가 있나요?

0

287

1

소멸자 관련 질문

0

250

1

&의 차이

0

290

1

프레임 관리 질문입니다.

0

332

1

연산자 오버로딩 관련 질문입니다.

1

203

1

안녕하세요 goormide 학습자입니다.

0

861

4