Почему создание статического const std :: string может вызвать исключение?

У меня есть строковые константы, для строк, которые я использую в нескольких местах в моем приложении:

namespace Common{
    static const std::string mystring = "IamAwesum";
}

При публикации вопроса о чем-то другом (Что происходит с файлом .h, который не включен в цель во время компиляции?), другой пользователь сделал следующий комментарий:

Имейте в виду, что в этом случае ваша статическая строка является глобальной. Таким образом, они могут создать исключение в любое время и не могут быть пойманы. Я советую вам использовать функцию, которая возвращает ссылку на вашу строку. std :: string const & mystring {статические std :: string const mystring = "IamAwesum"; вернуть mystring} таким образом, ваш объект создается только при необходимости

Может кто-нибудь объяснить, почему использование статических константных строк способом, описанным выше, может привести к возникновению исключений?

Ответы на вопрос(3)

Ваш ответ на вопрос