![]() |
|
|
|||||||
| Portal | Wiki | IRC-Chat | Registrieren | Benutzerliste | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
![]() |
|
|
Themen-Optionen | Thema bewerten | Ansicht |
|
|
#1 |
|
Profifragensteller
|
Moin!
Hat ein Code:
Nehmen wir sowas an: Code:
Viele Grüße Herakles, der Profi-Frager |
|
|
|
|
|
#2 |
|
Registered User
|
Nö. Es ist bei dem Code egal ob default jetzt so da steht oder nicht. Maximal eine Verständlichkeit, aka:
default da: Man erwartet andere Werte, tut dann aber nichts default nicht da: Man erwartet keine anderen Werte
__________________
Ich glaube das hier ist 'ne Signatur... MfG -Nuke- |
|
|
|
|
|
#3 |
|
Bicycle User
Registrierungsdatum: Aug 2004
Ort: nuernberg
Beiträge: 2.532
|
das default geht in die richtung von
Code:
gute compiler optimieren den weg. im schlimmsten fall wird dein programm ein paar bytes groesser und ein paar takte langsamer.
__________________
Computer science is not about using a computer. It is about unleashing its powers. |
|
|
|
|
|
#4 |
|
Moderators
Registrierungsdatum: Sep 2009
Beiträge: 869
|
Langsamer sollte das Programm dadurch auf keinen Fall werden. Wenn in jedem Fall ein break vor dem default aufgerufen wird, ist wird das was danach kommt egal, da können auch noch beliebige andere Bdingungen auftauchen. Bei einem
if (( a==b) || (c==d)) wird (c==d) auch nie geprüft, wenn (a==b) immer stimmt.
__________________
Wir kommen aus /dev/null und wir gehen nach /dev/null, alles dazwischen ist ziemlich /dev/random. Mein Blog zu BSD und Freier Software: https://blogs.fsfe.org/h2 |
|
|
|
|
|
#5 |
|
Moderators
Registrierungsdatum: Sep 2009
Beiträge: 697
|
Sollte das nicht eh vom Compiler wegoptimiert werden?
__________________
Meine Installationsmitschrift |
|
|
|
|
|
#6 |
|
Registered User
Registrierungsdatum: Dec 2006
Ort: Fürth
Beiträge: 100
|
Es ist halt mehr so ne Maintainance-Sache.
Normalerweise steht nach dem Default sowas wie assert(0); in der Release-Version wird dieses dann vom Compiler wegoptimiert und wenn du mal was erweiterst, siehst du, ob und wo du den Case vergessen hast.
__________________
"Any problem in computer science can be solved with another layer of indirection. But that usually will create another problem." (David Wheeler) |
|
|
|
|
|
#7 |
|
Bicycle User
Registrierungsdatum: Aug 2004
Ort: nuernberg
Beiträge: 2.532
|
NOOBS
![]() mehr oder weniger code hat durchaus auswirkungen auf die ausfuehrungszeit ![]() weil der dann u.u. den instruction-cache anders beeinflusst. das wird aber erst dann interessant wenn ihr an embedded systemen rumschraubt die echtzeitfaehig sein muessen. von daher: macht euch keine sorgen. und das a==b||c==d wird auch nur dann nicht ausgewertet wenn das ausfuehrende system eine lazy evaluation kann. "system" schliesst hierbei den compiler mit ein. ich habs mal eben probiert, gcc 4.1.2 auf einem amd64 linux kanns zum beispiel.
__________________
Computer science is not about using a computer. It is about unleashing its powers. |
|
|
|
|
|
#8 | ||
|
Registered User
Registrierungsdatum: Apr 2004
Beiträge: 267
|
Zitat:
Zitat:
Es gibt aber einen Grund, default bewusst wegzulassen: Aufzählungen. Code:
|
||
|
|
|
|
|
#9 |
|
Programmierer
Registrierungsdatum: Nov 2002
Ort: Bremen
Beiträge: 2.551
|
Manchmal gibt es auch Code-Richtlinien von der Firma, für die man arbeitet. Da kann es festgeschrieben sein, dass es auf jeden Fall ein "default" geben muss.
__________________
if you don't remember something, it never happened. if you aren't remembered, you never existed. |
|
|
|
|
|
#10 |
|
Bicycle User
Registrierungsdatum: Aug 2004
Ort: nuernberg
Beiträge: 2.532
|
ah! man lernt halt nie aus.
cool! dann werde ich das demnaechste oefter verwenden!!! danke!!!!!!!!!!! aber abgesehen davon war meine aussage jetzt auch nicht c-spezifisch gemeint. lassen wir das, ist ja doch ein [c] topic.
__________________
Computer science is not about using a computer. It is about unleashing its powers. |
|
|
|
![]() |
| Dieses Thema betrachten zurzeit 1 Personen. (0 registrierte Benutzer und 1 Gäste) | |
| Themen-Optionen | |
| Ansicht | Thema bewerten |
|
|
Ähnliche Themen
|
||||
| Thema | Erstellt von | Forum | Antworten | Letzter Beitrag |
| ports updaten & feststellen wann ein update notwendig ist | casualx | OpenBSD - Pakete und Anwendungen | 17 | 13.02.2012 12:01 |
| TLS-Zertifikat von CAcert.org: Account bei CAcert notwendig? | testit | FreeBSD - Allgemein | 4 | 14.11.2011 20:42 |
| Neustart nach freebsd-update notwendig? | worel | FreeBSD - Allgemein | 7 | 19.02.2008 09:08 |
| Perl 5.8.x notwendig?! | miguel | FreeBSD - Anwendungen und Ports | 4 | 27.07.2004 23:32 |
| Netzwerkinstallation zwingend notwendig ?? | krillehb | FreeBSD - Installation | 7 | 21.04.2004 20:34 |