setter - Methoden brauchen keinen Rückgabewert, getter widderum schon.
Normalerweise verwendet man setter/getter bei privat deklarierten Variablen.
Ich weiß schon bescheid, dieser Code diente nur als Beispiel (mir fiel nichts besseres ein).
Quote:
Was für ein Buch verwendest du, dass da setter - Methoden, Rückgabewerte (bool in deinem Fall) haben/verwenden?
C++ Lernen und professionell anwenden verwende ich.
Ich habe mich nun dazu entschieden, bei 0 anzufangen und jede Seite gründlich
durchzulesen, mir ist nämlich klar geworden, dass ich die Seiten zum größten Teil überflogen habe.
Du kannst einen boolean verwenden, um Fehlschläge zu erkennen und zu verarbeiten, also als Alternative/Erweiterung zu Exceptions. Ob das notwendig/sinnvoll ist, ist situationsabhängig. Z.B. beim Verbindungsaufbau zu einer Datenbank kannst du so überprüfen, ob es geklappt hat. Bei einer einfachen Setter-Methode wie in deinem Beispiel ist es eher unnötig.
Du kannst einen boolean verwenden, um Fehlschläge zu erkennen und zu verarbeiten, also als Alternative/Erweiterung zu Exceptions. Ob das notwendig/sinnvoll ist, ist situationsabhängig. Z.B. beim Verbindungsaufbau zu einer Datenbank kannst du so überprüfen, ob es geklappt hat. Bei einer einfachen Setter-Methode wie in deinem Beispiel ist es eher unnötig.
Wenn eine Verbindung zur Datenbank fehlschlägt, kann das mehrere Ursachen haben und es können dementsprechend mehrere Exceptions fliegen. Daher reicht hier ein boolean meiner Meinung nach nicht mehr. Ich wüsste auch nicht, an welchen Stellen die Verwendung von booleans als Fehlererkennung den Exceptions vorzuziehen ist.
An den Stellen, an denen ein einfaches True/False reicht und die Performance-Einbußen durch Exceptions nicht gerechtfertigt sind.
Außerdem gibt es boolsche Indikatoren gerne in Verbindung mit einer Art LastError Variable, von daher bedeutet ein Bool nicht gleich, dass keine weiteren Informationen möglich sind.
An den Stellen, an denen ein einfaches True/False reicht und die Performance-Einbußen durch Exceptions nicht gerechtfertigt sind.
Zum Beispiel? Fehlermeldungen sicherlich nicht.
Quote:
Originally Posted by MrSm!th
Außerdem gibt es boolsche Indikatoren gerne in Verbindung mit einer Art LastError Variable, von daher bedeutet ein Bool nicht gleich, dass keine weiteren Informationen möglich sind.
Wenn du das so siehst, gibt es noch viele andere Indikatoren um Fehler festzustellen. Eine LastError Variable ist sowas von unnötig und ineffizient, wenn man Exceptions nutzen kann aber das brauche ich dir ja nicht erklären.
€: Weil mich snowi nervt: Ich spreche nicht von Performance.
Quote:
Originally Posted by iTrodan
Ich verstehe nicht genau was diese Fachbegriffe zu bedeuten haben, ich denke aber dass sich dieses schon sehr bald ändern wird.
Du kannst gerne fragen wenn du etwas nicht verstehst, dafür ist das Forum ja da.
Mostey meinte ich könne die Fragen auch hier stellen und da ich das Internet nicht 100%ig vertraue wollte ich die Frage hier stellen. Naja dann google ich erstmal ein bisschen bevor ich die Fragen online stelle.
Das ist Unsinn und in der Praxis ist oft sogar das genaue Gegenteil der Fall!
Ich habe da mal ein kleines Beispielprogramm geschrieben:
Im Release Modus mit Visual Studio 2013 compiliert bekomme ich folgendes Ergebnis:
Quote:
with exceptions: 47.8477 seconds
without exceptions: 47.8797 seconds
Wer sich nun fragt warum die "Performancefresser" schneller sind: die Antwort darauf ist relativ simpel.
Durch all die ifs in dem Code, die du einfügen musst um sicher zu gehen, dass nirgens eine Funktion fehlgeschlagen ist, fressen wesentlich mehr Performance als ein einzelnes throw das jemals könnte!
Zusätzlich dazu blähen dir die ifs den Code dermaßen stark auf, dass du weit mehr als das doppelte an Code schreiben musst, um ein ansatzweise gleichwertiges Ergebnis zu bekommen. Das führt dann dazu, dass dein Code nicht nur schwerer zu warten und zu lesen wird, er wird auch gleich sehr viel fehleranfälliger!
Dass Exceptions dein Programm langsamer machen ist alter Aberglaube der C Fanatiker und - vorausgesetzt man macht es richtig - in der Praxis sind sie meistens sogar schneller, weil sie extrem viel overhead aus dem Code raus nehmen.
Und selbst wenn sie langsamer sein sollten, alleine schon druch den Gewinn an Lesbarkeit in deinem Code sollte man immer zuerst auf sie zurückgreifen, denn Performance ist erst dann ein Argument, wenn du mit einem Profiler dein Programm überprüfst und dann als Ergebnis diese eine throw Anweisung aufgeführt wird.
Void kal cheats 04/22/2014 - Kal Hacks, Bots, Cheats & Exploits - 11 Replies Like title says ;)
Kalulz need to be started after kalonline is opened same like the splashy.dll
Just inject it with CE 6.3 choose engine.exe press CTRL+M then CTRL+I and inject dll
Goodluck
[C#] delegate bool functions 12/29/2012 - .NET Languages - 3 Replies Moin moin,
Nach langer zeit melde ich mich dann mal von den toten zurück :)
Ich habe ein kleines Problem, und zwar möchte ich eine bestimmte Funktion die Bsp. Einen zauber startet überladen.
Public static void Cast(string spellname)
{
Casting(spellname)
}
Eigenes Fenster außerhalb von BOOL InitInstance() 04/21/2012 - C/C++ - 4 Replies Mein Problem liegt darin, dass ich 2 Fenster haben möchte, das eine sich jedoch nur öffnen soll wenn ich beispielsweise einen Button gedrückt habe.
Also habe ich eine zweite Klasse gemacht etc. So, wenn ich nun das Fenster
erstellen lasse, wo das erste auch erstellt wird( in BOOL InitInstance() ), funktioniert alles wunderbar d.h. sie öffnen sich beide gleichzeitig, aber das möchte ich ja nicht.
Trage ich dann die Funktion CreateWindow() dahinein (außerhalb von BOOL InitInstance() ), dass...
Void Problem 12/15/2011 - CO2 Private Server - 5 Replies Problem has been Fixed
I void I 04/23/2011 - Runescape Trading - 3 Replies Grr