Рассмотрим пример: в моем файле main.sh я хотел бы использовать исходники a.sh и b.sh. Однако a.sh может уже использовать исходники b.sh. Это приведет к тому, что коды в b.sh будут выполняться дважды. Есть ли в C++ какой-нибудь механизм, подобный "защитнику включения"?