【问题标题】:std::stringstream GCC Abnormal Behaviorstd::stringstream GCC 异常行为
【发布时间】:2010-12-08 14:44:21
【问题描述】:

在 Mac (GCC 4.2) 上编译一个简短的小程序时,我遇到了一个非常有趣的问题。下面的函数只会将字符或字符串流式传输到字符串流中,而不会流式传输任何其他内容(int、double、float 等)。事实上,如果我尝试将例如 int 转换为字符串,则会设置失败标志。

但是,删除预处理器标志:_GLIBCXX_DEBUG=1,在 XCode 中默认设置为调试模式,将产生所需的结果/正确的行为。

这是我正在谈论的简单功能。 value 是 T 类型的模板变量。针对 int、double、float(不工作)、char 和 strings(工作)进行了测试。

template < typename T >
const std::string Attribute<T>::getValueAsString() const
{
 std::ostringstream stringValue;
 stringValue << value;
 return stringValue.str();
}

任何想法我做错了什么,为什么这不起作用,或者预处理器标志做了什么使它不再起作用?

谢谢!

【问题讨论】:

    标签: gcc stringstream


    【解决方案1】:
    猜你喜欢
    • 2012-12-10
    • 1970-01-01
    • 1970-01-01
    • 2018-12-03
    • 2018-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多