我有字符串常量,用于在我的应用程序的多个位置使用的字符串:
namespace Common{
static const std::string mystring = "IamAwesum";
}
当发布有关其他内容的问题时(编译期间未包含在目标中的 .h 文件会发生什么情况?),另一位用户发表了以下评论:
请注意,在这种情况下,您的静态字符串是全局的。所以他们可以随时创建异常并且不能被捕获。我建议您使用返回字符串引用的函数。std::string const &mystring { 静态 std::string const mystring = "IamAwesum"; return mystring} 通过这种方式,您的对象仅在需要时才构造
有人可以解释为什么以我上面这样做的方式使用静态 const 字符串会引发异常吗?