Fall Back, Fall through
2025. 4. 21. 14:33ㆍ개발자 능력치 물약/C++
🧩 1. Fallback (폴백)
✅ 뜻
기본 방식이 실패하면 다른 대체 방식으로 넘어가는 것
✅ 주요 맥락
- 파일 파싱 실패 시 다른 포맷 시도
- 서버 요청 실패 시 다른 서버나 캐시를 사용
- 폰트가 없으면 대체 폰트를 보여줌
if (!LoadNewFormat(filePath)) {
LoadOldFormat(filePath); // 폴백: 새로운 방식 실패 → 옛날 방식으로 대체
}
🧩 2. Fallthrough (폴스루)
✅ 뜻
switch 문에서 break 없이 다음 case로 넘어가는 것
✅ 주요 맥락
- switch-case에서 쓰임
- 조건이 맞는 case 블록 실행 후, 명시적으로 중단하지 않으면 다음 case도 계속 실행됨
switch (command) {
case 1:
DoBasicAction();
// break; ← break 없으면 fallthrough 발생
case 2:
DoExtraAction(); // case 1도 실행되며 case 2도 실행됨!
break;
}
💡 C++17 이후
C++에서는 fallthrough가 헷갈릴 수 있어서, 의도적일 경우엔 [ [ fallthrough ] ]; 를 명시해주는 걸 권장
switch (n) {
case 1:
DoSomething();
[[fallthrough]]; // 명시적으로 fallthrough 한다는 의미
case 2:
DoAnotherThing();
break;
}
'개발자 능력치 물약 > C++' 카테고리의 다른 글
디자인패턴: 싱글톤, 팩토리, 전략패턴 (0) | 2025.03.27 |
---|---|
복사생성자, 상속, 다형성 (0) | 2025.03.27 |
SOLID 원칙 (0) | 2025.03.24 |
백준 14490 백대열: 문자열파싱/ 최대공약수 구하기 (0) | 2025.03.17 |
0315 형변환 , L/Rvalue (0) | 2025.03.15 |