nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

#include <iostream> mit std-Namespace oder #include <iostream.h> ohne Namespaces besser?

Von: Florian Hurlbrink (usenet0107@hurlbrink.de) [Profil]
Datum: 10.05.2008 08:55
Message-ID: <op.uaxevjymjgtrrw@florian>
Newsgroup: de.comp.lang.iso-c++
Hallo,
ich bringe mir gerade C++ bei und in einem Buch wird folgender Code
verwendet:

#include <iostream.h>

int addiere(int a, int b)
{
int c = a + b;
return c;
}


int main()
{
int zahl1, zahl2;

cout << "Geben Sie zwei Zahlen ein!\n";
cin >> zahl1;
cin >> zahl2;
cout << addiere(zahl1, zahl2) << "\n";
return 0;
}

Dieser lässt sich mit dem Borland Kommandozeilen-Compiler bcc32
kompilieren, aber nicht mit Microsoft Visual Studio.
Kann es sein, dass dieser nicht standardkonform ist?

Ich habe herausgefunden, dass auch folgende Version möglich ist:

#include <iostream>

int addiere(int a, int b)
{
int c=a+b;
return c;
}


int main()
{
int zahl1, zahl2;

std::cout << "Geben Sie zwei Zahlen ein!\n";
std::cin >> zahl1;
std::cin >> zahl2;
std::cout << addiere(zahl1, zahl2) << "\n";
return 0;
}

Dieser lässt sich mit beiden Compilern kompilieren. Scheinbar ist dieser
standardkonform.

Welche Variante ist jetzt besser und warum gibt es bei einigen Kompilern
(wie eben bcc32) auch die "schlechtere" Variante? Will man hier
"Rückwärtskompatibilität" zu C, obwohl es im C nur die stdio.h
gab, aber
keine iostream.h?

[ Auf dieses Posting antworten ]

Antworten