004
16.03.2005, 01:48 Uhr
0xdeadbeef
Gott (Operator)
|
Es dürfte nicht kompilieren. Und bei mir tuts das auch nicht (Die Fehlermeldung ist ein bisschen zu lang, um sie hier zu posten - er findet halt, wie nicht anders zu erwarten, die ganzen Bezeichner nicht und muckiert sich über void main, was natürlich grober Unfug ist).
std:: ist ein namespace-präfix. std::cout zum Beispiel bedeutet "cout im namespace std". Alle Bezeichner der STL (standard template library) sind im namespace std gekapselt, das im wesentlichen, um sie von gleichnamigen Bezeichnern anderer Bibliotheken zu unterscheiden. Im Code sieht das dann so aus:
C++: |
#include <iostream>
int main() { std::cout << "Hello, World!" << std::endl; }
|
bzw.
C++: |
#include <iostream>
using namespace std; // jetzt wird auch der namespace std nach Bezeichnern durchsucht, std:: muss also nicht mehr explizit angegeben werden.
int main() { cout << "Hello, World!" << endl; }
|
Auf die selbe Weise kann man z.B. folgendes machen:
C++: |
#include <iostream>
namespace mein_kleiner_namespace { int i;
void print_i() { // Merke: Hier muss der namespace nicht mit angegeben werden, da print_i im selben namespace wie i ist. std::cout << i << std::endl; } }
int main() { mein_kleiner_namespace::i = 23; mein_kleiner_namespace::print_i(); }
|
Das zweite Programm ist ebenfalls völliger Bogus, VLAs (variable length arrays) gibts in C++ nicht. Du musst den Kram schon auf dem Heap anlegen, das sieht dann so aus:
C++: |
#include <iostream>
int main() { float *array; int anzahl;
std::cin >> anzahl; array = new float[anzahl];
// mit array arbeiten
delete[] array; }
|
Ansonsten ist folge in deinem Beispiel (bzw. wäre es, wenn der Code gültig wäre) ein Array, also ein Feld von mehreren floats hintereinander im Speicher. Zum Beispiel:
C++: |
#include <iostream>
int main() { int quadrate[30];
for(int i = 0; i < 30; ++i) quadrate[i] = i * i;
std::cout << quadrate[20] << std::endl; // gibt das zwanzigste Element von quadrate aus, also 20 * 20 = 400. }
|
-- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra Dieser Post wurde am 16.03.2005 um 01:54 Uhr von 0xdeadbeef editiert. |