#pragma once
nie jest standardem, ale jest obsługiwany przez kompilatory takie jak gcc i VC++. Pomaga unikać strażników integracyjnych.Czy #pragma raz dodaje osłony włączające?
Ale czy wewnętrznie kompilator dodaje osłony włączające dla #pragma raz? Jeśli nie, w jaki sposób kompilator zapewnia, że taki nagłówek jest zawarty tylko raz?
Wyobrażam sobie, że kompilator po prostu śledzi, które pliki nagłówkowe zostały dołączone i gdzie. –
Prawdopodobnie coś podobnego do wykrycia cyklu na grafie skierowanym. –
@OliCharlesworth Nie można uniknąć możliwości, ale w dużym projekcie, czy nie może być tysięcy plików nagłówkowych? Czy będzie to skuteczny sposób? –