Arrays
-
AJ
**[...]const arbeiten
const variablen sind in dem sinne keine konstanten, er soll mal schön bei define bleiben
bye
tt
-
@Tester:
Effektiv C++ sagt: "beforzugen sie const und inline gegenüber #define"
Grund: Fehler mit dem Kompiler abfangen
-
the_freak
*********Effektiv C++ sagt:
dann bist du der erste der "effektiv C++" in C programmiert. Ich bleibe dabei
ein const int...ist kein "konstanter" Ausdruck im eigentlichen Sinn.
bye
tt
-
jo, hatte mich etwas versehen ^^# Aber da es in C ja den ausdruck ebenfalls gibt hab ichs stehen lassen.
Gibs denn zwischen der C und der C++ variante n unterschied? denn das Prinzip is doch das selbe: Fehler schon mit dem Kompiler abfangen.
PS: sry für off topic ^^
-
THE_FreaK schrieb:
Gibs denn zwischen der C und der C++ variante n unterschied?
In C89 war folgendes nicht erlaubt:
int const size=7; int arr[size];
In C99 ist es erlaubt - aber nur weil arr in diesem Fall ein VLA wäre (Variable Length Array).
const in C heisst lediglich 'readonly'
Während es in C++ eine echte Konstante ausdrückt.
-
In C++ heißt const auch nur read-only:
void foo(int n) { const int s = n; int array[s]; // mööp }
Der Unterschied zwischen C und C++ ist hier nur, dass in C++ eine const-Variable unter gewissen Umständen als Compilezeitkonstante durchgeht, nämlich wenn sie nur durch Compilezeitkonstanten initialisiert wurde (rekursive Definition.)
-
hallo!Ich hab noch ne bessere Verbesserung:-)Und zwar die 3 geschweifte Klammer am Ende ohne die nämlich nichts geht....greets ciro
-
AJ schrieb:
Noch ne kleine Verbesserung
ciro schrieb:
#include <stdio.h> #define MAXX 3 #define MAXY 3 int main(){ int i,k,Matrix[MAXX][MAXY]; for(i=0;i<MAXX;i++){ for(k=0;k<MAXY;k++){ scanf("%d",&matrix[i][k]); }}
Somit brauchst bei Änderungen nur an einer Stelle etwas ändern. Anstatt #define kannst du auch mit const arbeiten.
@AJ Die 3 geschweifte Klammer am Ende wär noch etwas sinnvoller finde ich:-)
-
ciro schrieb:
@AJ Die 3 geschweifte Klammer am Ende wär noch etwas sinnvoller finde ich:-)
Tja, ich hab angenommen, dass dein geposteter Code fehlerfrei ist. Darum hab ich erst gar nicht nachgeschaut, ob da noch Fehler drin sind ;).
-
Hi Leutz!
Wisst ihr wie man ein 2-dimensionales Feld in eine datei speichern kann? Mit nem eindimensionalen hab ich keine probs...
schoma danke!
-
Wie das eindimensionale auch, nur dass du noch ne 2. schleife für den 2. index brauchst.
Wie du das abspeicherst bleibt dir überlassen.// Beispiel: for (int i=0; i<2; i++) { for (int j=0; j<AnzahlElemente; j++) { // code // Ein Zugriff auf ein Arryelement könnte z.B. so aussehen cout << myArray[i][j]; } }
-
Bashar schrieb:
Der Unterschied zwischen C und C++ ist hier nur, dass in C++ eine const-Variable unter gewissen Umständen als Compilezeitkonstante durchgeht
Und genau das ist etwas mehr als nur readonly, oder?