Archiv verlassen und diese Seite im Standarddesign anzeigen : ein paar fragen...
ich hab da ein paar anforderungen, die ich nicht ganz verstehe, wäre sehr dankbar wenn mir wer weiterhelfen kann..
1.Seiteneffekte in mit && und || zusammengesetzten logischen ausdrücken sind außer am weitesten links stehenden teil des ausdrucks zu vermeiden.
welche seiteneffekte??? (was ist damit gemeint)
2. konstantendefinitionen sind groß zu schreiben,variablen klein
was sind konstanten, was variablen ?
:o
3.codestücke dürfen nicht in headerfiles stehen
was sind headerfiles?
4.willkürliche grenzen sind soweit als möglich zu vermeiden
welche grenzen??
5.jede switch anweisung soll einen default zweig erhalten, kann dieser nicht erreicht werden, so ist an dieser stelle assert(0) zu schreiben,
wieso sollte der nicht erreicht werden können, und falls wirklich nicht wieso dann einen programmieren??
thx im voraus
microdigi
25-10-2002, 16:23
hallo, ...
...ich bin zwar kein mod, und ich bin auch nicht anda_skoda.
aber lass mich mal etwas hier antworten.
die antwort wird dir sicher nicht sonderlich gefallen,
aber so ist das leben nun mal.
um es kurz zu machen:
du irrst, wenn du annimmst, dass dieses forum
einen grundkurs in c (oder c++) vermittelt.
da solltest du schon in eigeninitiative selbst die empfohlene literatur
durchwaelzen - so wie wir das alle tun mussten und getan haben.
der nebeneffekt fuer dich ist dann dabei,
dass das zeugs auch gleich noch besser haengen bleibt.
gruss - digi :mad:
anda_skoa
25-10-2002, 16:34
Original geschrieben von mips
1.Seiteneffekte in mit && und || zusammengesetzten logischen ausdrücken sind außer am weitesten links stehenden teil des ausdrucks zu vermeiden.
welche seiteneffekte??? (was ist damit gemeint)
Seiteneffekte sind Sachen, die etwas im Speicher ändern, wenn das nicht der Hauptzweck der Operation ist.
Zum Beispiel sowas soll vermieden werden:
if (a == 1 && a == b++)
Das b++ ändert den Wert von b (Seiteeffekt, man bräuchte ja nur den Wert von b)
Der zweite Teil des && Ausdrucks wird aber nur ausgewertet, wenn a == 1 war.
2. konstantendefinitionen sind groß zu schreiben,variablen klein
was sind konstanten, was variablen ?
Ähh, Konstanten sind konstant, Variablen variabel :)
Das mußt du doch aus dem Mathe Unterricht kennen.
3.codestücke dürfen nicht in headerfiles stehen
was sind headerfiles?
Files mit der Extension .h
Dort stehen die Deklarationen von Funktionen, Klassen, etc.
4.willkürliche grenzen sind soweit als möglich zu vermeiden
welche grenzen??
Grenzwerte, für Schleifen, Eingabelängen, etc.
5.jede switch anweisung soll einen default zweig erhalten, kann dieser nicht erreicht werden, so ist an dieser stelle assert(0) zu schreiben,
wieso sollte der nicht erreicht werden können, und falls wirklich nicht wieso dann einen programmieren??
Wenn du aus einer Funktion nur drei Werte bekommst, sagen wir 0, 1 und 2, dann kann ein default Zweig nicht erreicht werden, wenn es case Statements für 0, 1 und 2 gibt.
Man schreibt den default Fall trotzdem, zum Beispiel wie angegeben mit einem assert, damit man es gleich merkt, wenn sich die Rückgabewerte dieser Funktion mal ändern sollten.
Außerdem ist ein switch ohne default unmännlich (hat Kernighan gesagt :))
Ciao,
_
hab vielen dank ;)
ad 2 aber wenn ich zb int x=9; definiere schreib ich dann x groß wenn er sich im ganzen prog nicht ändert undx klein wenn er es schon tut?
dh den deklarartionsteil den ich ober main schreibe schreibt man normalerweise in ein header file
anda_skoa
25-10-2002, 16:59
Original geschrieben von mips
hab vielen dank ;)
ad 2 aber wenn ich zb int x=9; definiere schreib ich dann x groß wenn er sich im ganzen prog nicht ändert undx klein wenn er es schon tut?
Nein.
Das ist immer noch eine Variable.
Eine Konstant deklariert man in C++ so
const int X = 9;
In C gibt es glaub ich const noch nicht, da kann man es über ein Macro machen
#define X 9
dh den deklarartionsteil den ich ober main schreibe schreibt man normalerweise in ein header file
Korrekt.
Ciao,
_
aber in den header teil den ich inkludiere werden doch wohl nicht nur deklarationen drin stehen sondern auch code..
also besteht jetzt eine header datei nur aus deklarationen oder?? :confused:
anda_skoa: naja, es gibt ein const auch in C ( nur als "ergänzung" )
maceop
anda_skoa
25-10-2002, 18:01
Original geschrieben von mips
aber in den header teil den ich inkludiere werden doch wohl nicht nur deklarationen drin stehen sondern auch code..
also besteht jetzt eine header datei nur aus deklarationen oder?? :confused:
Eine Headerdatei besteht meistens nur aus Deklarationen.
Ausnahmen sind Templates, Macros, inline Funktionen und -methoden.
Ciao,
_
anda_skoa
25-10-2002, 18:04
Original geschrieben von maceop
anda_skoa: naja, es gibt ein const auch in C ( nur als "ergänzung" )
maceop
Wieder mal was gelernt.
gcc compiliert ein const int sogar mit -ansi
Ciao,
_
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.