[말랑 퀴즈] 26/03/19 문제
카테고리: MallangQuiz
태그: Quiz
제 말랑말랑 퀴즈 생성기는 이곳에서 확인하실 수 있습니다.
말랑말랑 퀴즈 📝
날짜: 2026-03-19 문제 수: 5문제
Q1. 🟡 보통
다음 중 C++의 public 상속에 관한 설명으로 올바른 것은?
- A.
Square가Rectangle을 public 상속하면,Rectangle의 모든 동작이Square에도 그대로 적용 가능하다. - B. 펭귄(
Penguin)이 새(Bird)를 public 상속할 때,fly()함수를 오버라이드해서 런타임 에러를 던지는 것이 올바른 설계다. - C.
Student가Person을 public 상속하면,Person을 인자로 받는 함수에Student객체를 전달할 수 있다. - D. 수학적으로 is-a 관계가 성립하면 C++ public 상속으로 표현하는 것이 항상 옳다.
출처:
game_dev/cpp/chapter6/2025-10-18-cpp_6_32.md
📝 내 선택: ( C )
Q2. 🟢 쉬움
빈칸을 채우시오.
아래 코드는 AtomicExchange를 사용한다. 연산이 완료된 후 변수 r과 a의 값을 각각 빈칸에 채우시오.
volatile int a = 3;
int r = AtomicExchange(&a, 10);
// 연산 후: r == ①___, a == ②___
출처:
server/game_server/1/2025-06-19-game_server_1_15.md
📝 내 답: ( 3, 10 ), a는 10으로 대체되고, r에는 이전 값이 저장된다.
Q3. 🔴 어려움
아래 팩토리 함수 설계의 문제점을 설명하고, shared_ptr을 반환하도록 변경했을 때 얻을 수 있는 이점 두 가지를 서술하시오.
// 변경 전
Investment* createInvestment();
// 변경 후
shared_ptr<Investment> createInvestment();
출처:
game_dev/cpp/chapter4/2025-06-16-cpp_4_18.md
📝 내 풀이:
포인터가 가리키는 메모리가 해제되지 않거나, 댕글링 포인터 문제가 생길 수 있다.
이점 1: 참조 횟수가 0이 되면 자동 해제된다.
이점 2: 두번째 이점은 잘 모르겠다.
Q4. 🟢 쉬움
다음 명제가 참(O)인지 거짓(X)인지 판단하라.
C++에서 복합 대입 연산자(
+=,-=등)는 일반 대입 연산자(=)와 달리,*this의 참조자를 반환하지 않아도 된다.
출처:
game_dev/cpp/chapter2/2025-05-30-cpp_2_10.md
📝 내 답: X, 솔직히 잘 기억나지 않는다.
Q5. 🟡 보통
아래는 서버 측 TCP 소켓 프로그래밍의 일반적인 흐름이다. 각 함수의 동작 설명 중 틀린 것은?
s = socket(TCP); // 1
s.bind(5959); // 2
s.listen(); // 3
s2 = s.accept(); // 4
r = s2.recv(); // 5
- A.
bind(5959)— 5959번 포트를 점유 시도하며, 이미 사용 중이라면 실패한다. - B.
listen()— 소켓을 리스닝 소켓으로 전환하며, 즉시 리턴된다(블로킹 아님). - C.
accept()— 클라이언트가 접속하면 리스닝 소켓(s)과 동일한 포트를 사용하는 새 소켓을 반환한다. - D.
recv()— 수신 버퍼에 데이터가 없으면 데이터가 들어올 때까지 블로킹된다.
출처:
server/game_server/3/2026-02-03-game_server_3_4.md
📝 내 선택: ( C ), 리스닝 소켓과 다른 포트를 사용하는 것으로 알고 있다.
✅ 결과
| 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|
| ⭕ | ⭕ | ❌ | 🔺 | ⭕ |
댓글남기기