C oder C++ - Lohnt es sich noch C zu lernen?
-
cout ist global. ist ganz praktisch so.
der seed von rand und srand iast global. ist ganz praktisch so.
ok, viel mehr beispiele fallen mir nicht ein. aber da muss doch irgend einer zugeben, daß gloable variablen ganz praktisch sein können.
-
DEvent schrieb:
Seit wann ist die STL ein fester Bestandteil von C++ ? STL ist eine einfach Bibliothek, wie iostream, math, usw, benutzt es oder lass es.
lölle!
Seit wann? kA, auf jedenfall ist es nun im C++ Standard.
-
llllllllllol schrieb:
DEvent schrieb:
Seit wann ist die STL ein fester Bestandteil von C++ ? STL ist eine einfach Bibliothek, wie iostream, math, usw, benutzt es oder lass es.
Seit wann? kA, auf jedenfall ist es nun im C++ Standard.
Genaugenommen: nein. Die STL wurde von HP entwickelt und nur teilweise in den Standard aufgenommen.
Beispiel: rope gehört klassischerweise zur STL aber nicht zum Standard.
-
wie pingelig.
-
Daniel E. schrieb:
void f() { test = 3; } int test;klappt nicht, also ist test offenbar keine globale Variable, weil in f nicht sichtbar. Abgesehen davon gibt es sogar in C Möglichkeiten, die Sichtbarkeit zu begrenzen ('static').
Das ist nicht ernst gemeint, oder?
-
Reyx schrieb:
Daniel E. schrieb:
void f() { test = 3; } int test;klappt nicht, also ist test offenbar keine globale Variable, weil in f nicht sichtbar. Abgesehen davon gibt es sogar in C Möglichkeiten, die Sichtbarkeit zu begrenzen ('static').
Das ist nicht ernst gemeint, oder?
Erklär doch mal, was eine globale Variable in C sein soll, in der Norm wirds nicht erklärt. Vorschläge: Eine, mit external linkage? Internal linkage? File Scope? Welche, mit globaler Lebenszeit (statisch)? Eine mit reserviertem Namen?
Diese Sachen kann man alle mit einer gewissen Berechtigung "global" nennen, aber einen Qualifizierer der etwas überall sichtbar macht, existiert in C nicht (siehe Beispiel) und darum sollte man vielleicht dazusagen, was man unter "globalen Variablen" verstehen möchte, bevor man Wischiwaschiargumentationen führt, wie hier zu bewundern.
-
Vielleicht indem du die Variable deklarierst, bevor du sie versucht, zu benutzen? Das global betrachte ich dabei aber natürlich in sequenzieller Reihenfolge: Sprich, die globale Variable ist dann global, sobald sie (zur Laufzeit?) deklariert wurde. Allerdings hast du Recht, dann kann man wieder sagen, dass die Funktionen vor der Deklaration sie auch benutzen können müssten ... ach, in der Tat schwer zu definieren ... :-\
Ich schätze mal, eine Variable, die im globalen Namespace vor jeder einzubindenden Datei (#include) definiert wird; theoretisch auch nicht, aber praktisch schon eher, oder?
-
Globale Variablen sind für mich wie cout oder cin. Wobei cout und cin Objekte sind. Also globale Variablen, sind Variablen, die im globalen Namespace sind und die man durch ein einfaches #include verwenden kann. Ob es so nütztlich ist seed bei rand() global zu machen, wage ich zu bezweifeln.
Jetzt nennt mir doch endlich mal die Vorteile von C gegenüber C++ und bitte keine pseudo-Argumente wie "C ist ja so viel schneller als C++".
Seit wann? kA, auf jedenfall ist es nun im C++ Standard.
Ja und? Zwingt dich jemand die STL zu benutzen ? Meldet der Compliter einen Fehler wenn du statt std:string ein char* benutzt ?
Man kann intern gerne mit primitiven Typen arbeiten, aber nach aussen hin sollte man die STL benutzen.
Wieso? Wegen der Benutzerfreundlichkeit, der Standardkonformalität und der niedrigen Fehleranfälligkeit.
Aber man muss natürlich nicht.
-
DEvent schrieb:
Jetzt nennt mir doch endlich mal die Vorteile von C gegenüber C++ und bitte keine pseudo-Argumente wie "C ist ja so viel schneller als C++".
C hat globale Variablen.
-
DEvent schrieb:
Globale Variablen sind für mich wie cout oder cin. Wobei cout und cin Objekte sind. Also globale Variablen, sind Variablen, die im globale
looooooooooool
Der folgende code funktioniert aber auch nicht:
std::cout<<"Das gibt nen compiler-error"<<std:endl; #include <iostream>(das war eine Anspielung an DanielEs codebsp :D)
Achja: C ist schneller als C++. Hab ich grade selber nachgerechnet. Es stimmt!
-
lllllllllllol schrieb:
Marc++us schrieb:
llllllllllllol schrieb:
Warum C verwendet wird? Weil die wichtigsten Betriebsysteme zum großen Teil (bsp : Windows) oder ganz (bsp: Linux) geschrieben sind.
Wobei der Anteil in Windows dramatisch abnimmt... bei Vista wird man nicht mal mehr sagen können, daß C einen wichtigen Anteil hat (vielleicht außer dem Bootloader).
Deswegen ist Windows Vista auch total verbugt *g*.
Kontra: Linux (ich hab nix gegen Linux aber ist halt grad n gutes Beispiel ;)) ist Total verbuggt weil C benutzt. (Es gibt ja genug patches in jeder Kernelversion :p)
Ausserdem ist Vista eine Beta Version. Und ich Behaupte noch was: 99% der Software die es gibt ist verbuggt.
BR
Vinzenz
-
evilissimo schrieb:
lllllllllllol schrieb:
Marc++us schrieb:
llllllllllllol schrieb:
Warum C verwendet wird? Weil die wichtigsten Betriebsysteme zum großen Teil (bsp : Windows) oder ganz (bsp: Linux) geschrieben sind.
Wobei der Anteil in Windows dramatisch abnimmt... bei Vista wird man nicht mal mehr sagen können, daß C einen wichtigen Anteil hat (vielleicht außer dem Bootloader).
Deswegen ist Windows Vista auch total verbugt *g*.
Kontra: Linux (ich hab nix gegen Linux aber ist halt grad n gutes Beispiel ;)) ist Total verbuggt weil C benutzt. (Es gibt ja genug patches in jeder Kernelversion :p)
Ausserdem ist Vista eine Beta Version. Und ich Behaupte noch was: 99% der Software die es gibt ist verbuggt.
BR
Vinzenz
Naja, das "total" von "total verbugt" sollte man besser entfernen da es weder auf linux noch auf windows zutrifft. Aber wie du sagtest ist fast alles verbugt.
-
jetzt nennt mir doch endlich mal die Vorteile von C gegenüber C++
Vielleicht überwiegen ja schon die C++-Nachteile, damit man C++ einfach nicht genug mag. Ist etwas abwegig wegen der Kompatibilität, aber wenn ich an C++ denke, dann an das was die meisten damit machen und wie es die Sprache empfiehlt.
-
evilissimo schrieb:
Und ich Behaupte noch was: 99% der Software die es gibt ist verbuggt.
Euphemist.
-
DrGreenthumb schrieb:
jetzt nennt mir doch endlich mal die Vorteile von C gegenüber C++
Vielleicht überwiegen ja schon die C++-Nachteile, damit man C++ einfach nicht genug mag. Ist etwas abwegig wegen der Kompatibilität, aber wenn ich an C++ denke, dann an das was die meisten damit machen und wie es die Sprache empfiehlt.
Welche Nachteile sind das ?
-
DrGreenthumb schrieb:
und wie es die Sprache empfiehlt.
die sprache empfiehlt was ganz anderes, als was normalerweise gemacht wird.
-
Meinte eher Unschönheiten, Nachteile sinds ja nicht. Z.B. erst "private:" einfügen um danach die Hilfsmethoden mit in die Klassendefinition schreiben zu müssen. Oder a(x) vs. x->a(). Ist halt alles viel komplizierter.