#include <sstream>
#include <iostream>
#include <string>
class A : public std::stringstream {
public:
A() {}
~A() { std::cout << str().c_str() << std::endl; }
};
int main() {
A() << "Foo" << std::string(" ABC");
}
Я ожидавшую программу для печати:подклассов stringstream дает "0x401bad ABC" вместо "Foo ABC"
Foo ABC
вместо
0x401bad ABC
Почему 0x401bad ABC печатается ?
g++ --version
g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Clang и GCC дают мне ожидаемый результат. Предоставьте детали компилятора/библиотеки. – chris
g ++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 –
Вам повезло получить этот хороший указатель :) – Slava