Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

Frage zu C++ Code(RAII)

Diskussion: Frage zu C++ Code(RAII) im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hallo liebe Community! Zunächst mal entschuldigung für den schlechten Titel aber mir ist dazu echt nichts eingefallen. ich steh ...

Antwort
Alt 03.01.12, 20:57   #1 (permalink)
 
Registriert seit: 23.08.11
Old_Pirate Leistung: Facit NTK
Likes: 0
Standard Frage zu C++ Code(RAII)

Anzeige

Hallo liebe Community!

Zunächst mal entschuldigung für den schlechten Titel aber mir ist dazu echt nichts eingefallen.

ich steh grad vor Folgendenm Problem:

Code:
int main()
{
    std::cout<<"you"<<std::endl;
    system("pause");
}
gegeben ist dieses Code stückchen die Ausgabe soll so verändert werden das "I love you" rauskommt.

das ganze hab ich nun auch gelöst sieht dann so aus :
Code:
#include <iostream>

using namespace std;

class c
{
public:
    c()
    {
        cout<<"I\n";
    }

    ~c()
    {
        cout<<"Love\n";
    }
    

}bla;





int main()
{
    std::cout<<"you"<<std::endl;
    system("pause");
}
Funktioniert wunderbar nur versteh ichs nicht ganz also Konstruktor Dekonstruktor ist klar allerdings heißt das Objekt c und es wir nirgends ein objekt c erstellst bzw aufgerufen ??? es liegt alles nur an dem Ende der Klasse

Code:
}bla;
aber ich könnte anstatt "bla; " auch irgenwas beliebiges schreiben warum ??

ich glaube man nennt dies RAII ??

wäre net wenn mir jemand auf die sprünge helfen könnte übrigens funktioniert das ganze auch mit einem struct.

Danke im vorraus
Old_Pirate ist offline   Mit Zitat antworten
Alt 03.01.12, 21:29   #2 (permalink)
 
Benutzerbild von benediktibk
 
Registriert seit: 03.05.07
benediktibk Leistung: 8086benediktibk Leistung: 8086
Likes: 50
Standard

Das ganze funktioniert, weil du eben eine Variable vom Typ c hast, namentlich bla. Folgender Code bewirkt das genau gleiche:
Code:
class c:
{ ...
};

c blubber;

int main( ...
Mit RAII würde ich es nicht direkt bezeichnen, da du keine wirkliche Resource verwaltest bzw. bedienst. Als besseres Beispiel würde mir zum Beispiel eine Logdatei einfallen, die von einem Logger verwaltet wird. Die Log-Clients schicken ihre Nachrichten an den Logger, und der schreibt sie in das Logfile. Dazu darf es dann aber eben nur einen Logger geben, womit man für eben den RAII einsetzen könnte.
Um nocheinmal kurz auf dein Beispiel zurück zu kommen: Wenn du globale Variablen anlegst, werden diese vor dem Aufruf von main initialisiert und nach dem Beenden von main wieder zerstört, es werden also jeweils Konstruktor und Destruktor aufgerufen.
Richtig lustig wirds dann, wenn du deine globalen Variablen nicht statisch mitlinkst sondern dynamisch nachlädst, dann musst du noch expilizit angeben, dass alle Symbole beim Laden gleich initialisert werden. Aber da ist die manpage zu dlopen ganz gut.

mfg benediktibk
benediktibk ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 04.01.12, 10:14   #3 (permalink)
Themenstarter
 
Registriert seit: 23.08.11
Old_Pirate Leistung: Facit NTK
Likes: 0
Standard

Danke für deine Antwort benediktibk!

Dann war es wohl nur die Schreibweiße die mich hier verwirrt hat .
Old_Pirate ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Frage zu C++ Code(RAII)
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
code von exe an code von anderen exe hängen? (c++) <b00n> Code Kitchen 14 09.07.07 15:43
Code Spongebob91 (Web-) Design und webbasierte Sprachen 8 22.06.06 19:40
Frage bez. Code, Meinungen zum Programm michio Code Kitchen 2 19.02.06 11:55
Code Crash_X (In)security allgemein 16 08.12.05 21:35
CD Code Xman Games 5 22.11.05 21:27


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61