wo hört C auf und wo begint C++?
-
Hallo,
wo hört C auf und wo begint C++?
die hederdatei iostream.h ist doch C
und iostream ist C++.aber in beiden ist cout/cin enthalten ich dachte das cout/cin zu C++ gehört und printf() zu C.
wo lige ich falsch?
MFG TaccoGo
-
Hi,
Die <iostream.h> gibt es in c nicht.
Die <iostream.h> ist aus C++ "versionen" bevor der standard festgelegt wurde.
Jetzt haben C++-Header keine endung mehr => <iostream>Die C-Header wurden auch mit aufgenommen in C++. Diese haben auch keine Endung mehr aber das prefix 'c' -> <cstdio>, <cstdlib>, <cstring> <cctype>
Daher gibt es printf und Co auch noch unter C++.Die <stdio.h> (in der sich afaik printf befindet) ist ein "richtiger" C-Header.
MfG
-
TaccoGo schrieb:
wo lige ich falsch?
Bei deiner Rechtschreibung
-
TaccoGo schrieb:
Hallo,
wo hört C auf und wo begint C++?
niergends. Das kann man nicht genau sagen, weil beide Sprachen praktisch gleich mächtig sind, im Sinne, dass mit ihnen fast alles machen kann. Mit C programmiert am meisten unter Unix, die meisten sind C Programme und gut 90% (wenn ich mich nicht irre) von Linux (ich meine damit Linux-Projekt) ist in C geschrieben. gtk ist in C geschrieben und qt in C++, beide sind gute graphische Bibliothken (wobei ich gtk mehr mag als qt), als Beispiel gnome mit gtk und kde mit qt sind beide gute und unfamgreiche Desktop Environments. Es kommt eigentlich darauf an, was du machen willst, dann wählst du die Sprache.
die hederdatei iostream.h ist doch C
und iostream ist C++.falsch, C kennt keine Klassen und cout/cin/cerr/usw sind Instanzen der Klasse iostream (wenn ich mich nicht irre). iostream.h ist C++ aber das benutzt man nicht mehr, weil die neue Standariesierung iostream verbessert hat.
printf gehört eigentlich in C und wird in stdio.h deklariert.
-
supertux schrieb:
falsch, ...
Ich habe den Eindruck, manche mögen es, zuerstmal ein mächtiges "falsch" hinzuklatschen... *g*
-
supertux schrieb:
falsch, C kennt keine Klassen und cout/cin/cerr/usw sind Instanzen der Klasse iostream (wenn ich mich nicht irre).
doch du irrst dich
cout, cerr, clog sind instanzen der template Klasse basic_ostream<char> (als ostream "getypedefed")
cin ist eine instanz der template Klasse basic_istream<char> ( typedef -> istream)dann gibt es dannoch
wcout,wcerr und wclog -> basic_ostream<wchar_t> (-> wostream)
und wcin -> basic_ostream<wchar_t> (->wistream)Und dann gibt es dannoch (dein iostream)
basic_iostream<> diese klasse hat von basic_istream und basic_ostream geerbt und vereint sozusagen beideMfG evilissimo
-
Referenzen gehören beispielsweise auch zu C++ , sowas gibts in C nicht.
Der große Unterschied zu C ist eben der objektorientierte Ansatz!
-
also danke an alle damit hab ich sconmal was dazugelernt.
wen noch jemand was zu sagen hat soll er es tun.
MfG TaccoGo
-
Es gibt sowohl refenzen in C++ als auch den ganzen C Kramm.
C ist bloss eine Untermenge von C++. Also alles was in C ist kann man in C++ einsetzten.
Nur bei manchen Sachen wie Deklarationen (in ANSI C mus am Anfang der Funktion stehen), sizeof() oder void* gibt es Unterschiede. Es gibt auch noch mehr, die kenne ich alle nicht.Im schlimmsten fall kan man mit
#ifdef __cplusplus extern "C" { #endif /* hier C Code */ #ifdef __cpluplus } #endif
arbeiten.