The traditional iostreams supported a file stream constructor, taking a file descriptor that allowed connection of a file stream to an already open file. This is no longer available in the standard-conforming implementation of iostreams.
The functions attach() and detach() do not exist anymore.
Due to changes in the iostream architecture, the file buffer is now contained as a data member in the file stream templates. In some old implementations, the buffer was inherited from a base class called fstreambase.
The old file streams had a destructor; the new file streams don't need one. Flushing the buffer and closing the file is now done by the file buffer's destructor.