These channels may be connected to files, the console, other processes, or some other I/O facility.
Unfortunately, the C++ standard library does not provide the possibility of attaching a stream to
an I/O channel using file descriptors. The reason is that the language is supposed to be independent
of any operating system. In practice, though, the possibility probably still exists. The only drawback
is that using it is not portable to all systems. What is missing at this point is a corresponding
specification in a standard of operating system interfaces, such as POSIX or X/OPEN. However,
such a standard is not yet planned, but at least posix is a reserved namespace since C++11.