
보통 웰컴 키트는 3주차에 받는건 아닌데... 저희는 아무래도 OT 자체를 한화비전에서 하지 못한 탓인지 3주차에 받게 되었습니다.
꽤 유용한 것들이 좀 있었습니다.
3주차는 월~목까지는 C++에 대한 내용을, 금요일에는 테스트를 진행하였습니다.
이번 기억에 남는 것들을 좀 적어볼까 합니다.
template <typename T>
T data_sum(T operand1, T operand2)
{
return operand1 + operand2;
}
cpp에서는 제네릭을 템플릿이라고 부르는 것 같습니다. 꺽쇠로 표현하는 것부터, 해당하는 곳에 어떤 타입이라도 집어넣을 수 있는 것까지 똑같습니다.
template <typename T>
T data_sum(T operand1, T operand2)
{
return operand1 + operand2;
}
template <>
double data_sum(double operand1, double opernad2)
{
return (int)operand1 + (int)operand2;
}
템플릿 특수는 위와 같이 만들어집니다.
보시다시피data_sum은 템플릿을 이용하지만, double 타입이 들어올 때는 직접 다른 행동을 지정하는 일종의 오버로딩 이라고 볼 수 있을 것 같네요. 이 때, default parameter가 들어오게 되면, 문제가 발생할 수 있습니다.
예를 들어, (int a, int b, int c=5) 라는 인자를 받는 함수가 있다고 가정합시다. 그러고(int a, int b) 를 인자로 받는 경우도 있다고 하죠. 이러면 a, b에 값을 주었을 때, C가 있는 것으로 생각해야 할까요? 없는 것으로 생각해야 할까요?
이것이 바로 default parameter problem 입니다. 이런 것들이 모호성을 발생시키는 부분이기 때문에 사용에는 항상 주의가 필요합니다.
| [한화비전 VEDA 4기] 5주차 리뷰 (1) | 2026.04.26 |
|---|---|
| [한화비전 VEDA 4기] 4주차 리뷰 (1) | 2026.04.19 |
| [한화비전 VEDA 4기] 2주차 리뷰 (1) | 2026.04.15 |
| [한화비전VEDA 4기] 1주차 리뷰 (0) | 2026.04.10 |
| [한화비전 VEDA 4기] 합격 후기 (1) | 2026.04.09 |
댓글 영역