12. C와 C++
- 좋은 면접관은 지원자에게 익숙하지 않은 언어로 코딩하라고 요구하지 않음.
- 만약 C++로 코딩해 보라는 요구를 받았다면, 이력서에 C++를 적어놨기 때문임.
- API를 모두 기억하지 못해도 괜찮지만, 관련된 문제를 쉽게 풀 수 있도록 기본적인 C++ 문법은 공부해 둘 것을 추천함.
클래스와 상속
- C++ 클래스는 다른 객체 지향 언어의 클래스와 비슷한 특성을 가짐.
- C++에서 모든 데이터 멤버와 메서드는 기본적으로 private 임.
- public 키워드를 사용하여 그 값을 변경할 수 있음.
생성자와 소멸자
- 생성자 : 객체가 생성되면 자동으로 호출됨.
- 소멸자 : 객체가 소멸될 때 자동으로 호출됨.
기본값
- 함수 선언 시, 기본값(default values)을 명시할 수 있음.
- 반드시 함수 선언의 우측 부분에 놓아야 함.
포인터와 참조
참조(reference)
- 기존에 존재하는 객체에 붙는 또 다른 이름임.
면접 문제
12.3 해시테이블 vs STL map
- 해시테이블과 STL, map을 비교하고 장단점을 노하라. 해시테이블은 어떻게 구현되는가? 입력의 개수가 적다면, 해시테이블 대신 어떤 자료구조를 활용할 수 있겠는가?
12.5 얕은 복사 vs. 깊은 복사
- 얕은 복사(shallow copy)와 깊은 복사(deep copy)는 어떤 차이가 있는가? 이 각각을 어떻게 상요할 것인지 설명하라.
댓글