std :: locale(const char *)冻结......有时候。 Visual Studio错误?

时间:2016-02-19 08:56:16

标签: c++ windows visual-studio-2015 locale

请考虑以下代码:

#include <sstream>
#include <iostream>

int main()
{
    std::stringstream ss;

    //auto loc = std::locale("de-DE");  // A
    auto loc = std::locale("");         // B

    ss.imbue(loc);
    ss << 1.01;

    std::cout << "standard formatting:  " << 1.01 << std::endl;
    std::cout << "localized formatting: " << ss.str() << std::endl;
}

现在,它按预期工作或在B行冻结。当使用A行时它是相同的但我认为从A变为B或反之亦然导致其工作的机会更高。它甚至发生了它曾经工作一次并再次启动它分别在A线或B线冻结。

重要的是,所有这些只有在我从VS 2015开始调试时才会发生。当我从控制台执行此程序时,它永远不会冻结(释放或调试并不重要)。

这是一个Visual Studio错误吗?

0 个答案:

没有答案