Является ли автоматическая регистрация Google Test уязвимой для фиаско статического порядка инициализации?C++

Программы на C++. Форум разработчиков
Anonymous
Является ли автоматическая регистрация Google Test уязвимой для фиаско статического порядка инициализации?

Сообщение Anonymous »

При использовании Google Test с C++11, если тесты определены в отдельных модулях компиляции, является ли механизм автоматической регистрации уязвимым для фиаско статического порядка инициализации?

Если нет, то почему?

ОТРЕДАКТИРОВАНО ДЛЯ ДОБАВЛЕНИЯ:

В частности: насколько я понимаю, стандарт позволяет инициализация статических членов тестовых классов в других модулях компиляции должна происходить после входа в main().

Метод UnitTest::GetInstance() гарантирует, что реестр UnitTest создается при первом доступе. Но что мешает этому первому доступу быть вызовом основного метода Run() из main() до регистрации каких-либо тестов?

Возможно, дело в том, что они являются статическими членами класса, а не статическими свободными переменными?

Подробнее здесь: https://stackoverflow.com/questions/450 ... on-order-f

Вернуться в «C++»