升级到Xcode 3.2和Snow Leopard后,我的调试版本在运行时被破坏并失败.Stringstreams似乎不起作用.它们在发布模式下工作.
我把它缩小为GCC 4.2,OSX SDK 10.6和_GLIBCXX_DEBUG预处理器符号的组合.这些是新Xcode项目的调试配置的默认值.
此代码显示了问题:
#include <iostream>
#include <string>
#include <sstream>
int main (int argc, char * const argv[]) {
std::stringstream stream;
std::cout << " expected actual" << std::endl;
std::cout << "stream.bad: 0 " << stream.bad() << std::endl;
std::cout << "stream.fail: 0 " << stream.fail() << std::endl;
std::cout << "stream.eof: 0 " << stream.eof() << std::endl;
std::cout << "stream.good: 1 " << stream.good() << std::endl;
stream.exceptions(std::ios::badbit | std::ios::failbit | std::ios::eofbit);
try{
stream << 11; //< Does not …Run Code Online (Sandbox Code Playgroud)