Namespaces
Variants

std::strstream:: ~strstream

From cppreference.net
virtual ~strstream ( ) ;
(C++98에서 사용 중단됨)
(C++26에서 제거됨)

std::strstream 객체를 파괴하며, 이는 멤버 std::strstreambuf 도 함께 파괴합니다. 이로 인해 기본 버퍼가 동적으로 할당되었고 고정(frozen) 상태가 아닌 경우 할당 해제 함수가 호출될 수 있습니다.

매개변수

(없음)

참고 사항

만약 str() 가 동적 strstream 에서 호출되었고, freeze(false) 가 그 후에 호출되지 않았다면, 이 소멸자는 메모리를 누수합니다.

예제

#include <iostream>
#include <strstream>
int main()
{
    {
        std::ostrstream s; // 동적 버퍼
        s << 1.23 << std::ends;
        std::cout << s.str() << '\n';
        s.freeze(false);
    } // 소멸자 호출, 버퍼 할당 해제
    {
        std::ostrstream s;
        s << 1.23 << std::ends;
        std::cout << s.str() << '\n';
//      buf.freeze(false);
    } // 소멸자 호출, 메모리 누수 발생
    {
        std::istrstream s("1.23"); // 상수 버퍼
        double d;
        s >> d;
        std::cout << d << '\n';
    } // 소멸자 호출, 할당 해제할 내용 없음
}

출력:

1.23
1.23
1.23