Коротке замикання на C - це те, коли логічний оператор не оцінює всі його аргументи.
Візьмемо для прикладу і &&, цілком очевидно, що 0 && WhoCaresце буде помилково незалежно від того, що WhoCaresє. Через це C просто пропускає оцінку WhoCares. Те саме стосується 1 || WhoCares, це завжди буде правдою. Через це ми можемо писати подібний код
CanFireMissiles && FireMissiles()
Таким чином ми уникаємо робити якісь потенційно неможливі операції. Якщо ми не можемо вистрілити ракети, ми, звичайно, не хочемо намагатися. Це зазвичай використовується вказівниками, особливо файловими вказівниками.
bool isN(int* ptr, int n){
return ptr && *ptr == n;
}
Це є безліччю інших корисних способів уникнути зайвих обчислень
isFileReady() || getFileReady()
Це дозволяє уникнути зайвої роботи, якщо нам цього не потрібно.
&&оператора.