Easyоператоры
Что такое короткое замыкание (short-circuit) в логических операторах?
1Постановка
Разберём, что от вас хотят в этом вопросе и как к нему подступиться на собеседовании.
2Решение
Операторы `&&` и `||` вычисляют левый операнд, а правый — только если нужно: для && правый не вычисляется если левый false, для || — если левый true.
// Защита от null
if (p && p->value > 0) { /* ... */ }
// Ленивый fallback
if (cached || loadFromDisk()) { /* ... */ }- Побочные эффекты правого операнда могут не выполниться — нельзя на них полагаться;
- Дешёвую/защитную проверку ставят слева;
- Операторы
&и|короткого замыкания не делают — всегда вычисляют оба операнда.
3Как отвечать
- Сначала уточните условия и ограничения, покажите аналитическое мышление.
- Рассуждайте вслух — интервьюеру важен ход мысли, а не только финальный ответ.
- Оцените сложность по времени и памяти (Big-O), если это алгоритмический вопрос.
💡
На реальном собеседовании Alffert подскажет развёрнутый ответ в реальном времени.