А ты Страуструпа почитай - разрешение пространства имен либо через using somename либо через somename::xxx так что с этой точки зрения C++ gcc3.2 абсолютно прав. Что касается "по-умолчанию" - это не есть хорошо (см. там же).
я не понял. я же написал вместо <iostream> <iostream.h> В стандарте по моему второй вариант обзывается deprecated, но он должен давать нужный эффект. Вроде так ИМХО..
dilmah прав:
g++ --version ; g++ non-std.cc && ./a.out
g++ (GCC) 3.2.1 20020921 (prerelease)
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
In file included from /build/include/c++/3.2.1/backward/iostream.h:31,
from non-std.cc:1:
/build/include/c++/3.2.1/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or
<sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
Hello, World!
Я знаю что <XX.h> deprecated и этот вариант меня точно не устраивает.
Потому-что в какой-нибудь версии gcc-4.0 <XX.h> уже не будут компилится.
Вообщем похоже придется везде писать using namespace std.