std::basic_streambuf<CharT,Traits>:: ~basic_streambuf
From cppreference.com
<
cpp
|
io
|
basic streambuf
C++
Input/output library
I/O manipulators | ||||
Print functions (C++23) | ||||
C-style I/O | ||||
Buffers | ||||
(C++23)
|
||||
(
C++98/26*
)
|
||||
(C++20)
|
||||
Streams | ||||
Abstractions | ||||
File I/O | ||||
String I/O | ||||
Array I/O | ||||
(C++23)
|
||||
(C++23)
|
||||
(C++23)
|
||||
(
C++98/26*
)
|
||||
(
C++98/26*
)
|
||||
(
C++98/26*
)
|
||||
Synchronized Output | ||||
(C++20)
|
||||
Types | ||||
Error category interface | ||||
(C++11)
|
||||
(C++11)
|
std::basic_streambuf
|
|
virtual
~basic_streambuf
(
)
;
|
||
This destructor has no effect: the members of this
basic_streambuf
(the pointers and the locale) are destructed in accordance with the usual object destruction sequence after this destructor returns. However, since it is declared public virtual, it allows the objects that are derived from
std::basic_streambuf
to be deleted through a pointer to base class.
Parameters
(none)
Example
Run this code
#include <fstream> #include <iostream> int main() { std::filebuf* fbp = new std::filebuf; fbp->open("test.txt", std::ios_base::out); fbp->sputn("Hello\n", 6); std::streambuf* sbp = fbp; delete sbp; // the file is closed, output flushed and written std::ifstream f("test.txt"); std::cout << f.rdbuf(); // proof }
Output:
Hello
Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR | Applied to | Behavior as published | Correct behavior |
---|---|---|---|
LWG 54 | C++98 | the effect of the destructor was not specified | specified as no effect |
See also
constructs a
basic_streambuf
object
(protected member function) |
Retrieved from "
https://en.cppreference.com/mwiki/index.php?title=cpp/io/basic_streambuf/%7Ebasic_streambuf&oldid=158555
"