Re: OFFTOPIC: How to use strings with libstdc++?
On Tue, Dec 29, 1998 at 08:21:43PM +0100, Wojciech Zabolotny wrote:
> Hi All
>
> I've stated that there is no old good String class in libstdc++.
> Instead I've found the "string" header which defines the "string" class.
> Is it OK to use it in new C++ programs, or it is added only for
> compatibility? Why has it such nonstandard name (without ".h" suffix).
>From Stroustrup:
=================Section B 3.1, third edition=============================
Traditionally, every header file had a .h suffix. Thus C++ implementations
provided headers such as <map.h> and <iostream.h>. For compatibiilty, most
still do.
When the standards committee needed headers for redefined versions of
standard libraries for newly added library facilities, naming those headers
became a problem. Using the old .h names would have caused compatibilty
problems. The solution was to drop the suffix .h in standard header names.
The suffix is redundant anyway because the <> notation indicates that a
standard header is being named.
Thus, the standard library provides non-suffixed headers, such as <iostream>
and <map>. The declarations in those fiels are placed in the namespace std.
Older headers place their declarations in the global namespace and use a .h
suffix.
==========================================================================
So, the decision is neither arbitrary nor non-standard. The only thing left
is to actually implement namespaces in gcc :)
Marcus
--
"Rhubarb is no Egyptian god." Debian GNU/Linux finger brinkmd@
Marcus Brinkmann http://www.debian.org master.debian.org
Marcus.Brinkmann@ruhr-uni-bochum.de for public PGP Key
http://homepage.ruhr-uni-bochum.de/Marcus.Brinkmann/ PGP Key ID 36E7CD09
Reply to: