Notizen zu C++ by Peter Thömmes (auth.)

Posted by

By Peter Thömmes (auth.)

Die "Notizen zu C++" richten sich an den fortgeschrittenen C++ Software-Entwickler, sie zeigen effektive Lösungswege für zahlreiche Aufgabenstellungen aus der Praxis. Dazu werden in präziser und kompakter shape effiziente Lösungen durch konkrete Code-Beispiele gegeben, die plattformübergreifend sowohl unter UNIX/Linux als auch auf WINDOWS-Systemen funktionieren.

Die Darstellung orientiert sich an den Phasen eines Software-Projektes: zunächst werden generell Projektaufbau und geeignete Architektur-Modelle (Schichten-Modell, Client/Server-Architektur, Broker-Pattern für verteilte Anwendungen, CORBA, DCOM) analysiert. Dann folgt ein kompaktes Repetitorium wichtiger Begriffe und Sprachelemente sowie grundsätzlicher Regeln für das Programmieren in C++. Anschließend werden folgende zentrale Themen behandelt: Strings, Zeitermittlung, const, static, Referenzen, Zeiger, Smart-Pointer, new/delete, Speicherarten sowie Vererbungskonzepte unter C++ und das Programmieren von Klassen. Über Code-Kapselung, Operatoren, Casting und Exceptions führt der textual content dann zum wichtigsten Baustein von C++, der STL (Standard-Template-Library). Ferner werden transaktionssichere Zugriffe auf relationale Datenbanken behandelt.

Show description

Read Online or Download Notizen zu C++ PDF

Similar programming: programming languages books

Professional JavaScript Frameworks: Prototype,YUI, ExtJS, Dojo and MooTools (Wrox Programmer to Programmer)

Because the industry-standard, must-know scripting language, JavaScript is supported by means of all significant browsers and is more and more the root of latest net improvement applied sciences corresponding to Ajax and JSON. This ebook deals a range of a few of the main energetic and such a lot used JavaScript frameworks to be had, replete with useful examples and causes of what every one framework does most sensible.

Additional resources for Notizen zu C++

Example text

Idl definiert, dann bekommt man dort den leeren Funktions-Rumpf für die Implementierung bereitgestellt. cpp auch noch mitbauen. strcmp(argv[l],"-NS")) //NamingServ. nutzen bUseNamingService = true; } } //Initialisiere die Middleware (ORB): CORBA::ORB_var spORB = CORBA::ORB_init(argc,argv); //Referenz z. close(); } //Programm beenden, wenn nur Registr. erwünscht ("-r"): if(bRegisterOnly) { printf(">>>SERVER: Registered successfully\r\n"); return 0; } 24 //Statische Klasse Server initialisieren: Server::Init(argc,argv); //Call-Dispatcher starten //-> Requests vom client akzeptieren (Message-Loop): spORB->run(); //Aufräumen nachdem die Arbeit getan ist: spPOA->destroy(1,1); spORB->destroy(); return 0; } Der Server kann mit 2 benutzerdefinierten Kommandozeilen-Parametern aufgerufen werden: -r -NS Æ Æ Nur registrieren Naming-Service statt IOR-Datei nutzen (muss zuvor gestartet worden sein) Weiterhin kann er mit den von CORBA definierten Parametern aufgerufen werden, was man leicht dem Aufruf CORBA::ORB_init(argc,argv) ansieht, denn diesem werden argc und argv mitgegeben.

X Collaboration Diagram: Wer kommuniziert wie mit wem ? " Je nach Komplexität der zu lösenden Aufgabe kann es sinnvoll sein, sich hierbei eines UML-Tools zu bedienen. Im Gegensatz zur prozeduralen Programmierung sucht man hier nicht nach den Funktionen, die in einem Fluss, gesteuert von Bedingungen/Entscheidungen, ausgeführt werden sollen, sondern nach Instanzen, die für die Ausführung bestimmter Aufgaben zuständig sind. Man fasst also Aufgaben zusammen, die x zum gleichen Themengebiet gehören Beispiel: Layout-Algorithmen Æ Statische Klasse LayoutAlgorithms, die mit ihren Methoden den Code der Algorithmen für andere Klassen zur Verfügung stellt 36 oder x sich mit der gleichen Art von Daten beschäftigen Beispiel: Zeichnen eines Graphen aus einer Menge von Koordinaten Æ Klasse Graph mit dem Methoden zum Zeichnen Hat man festgelegt, welche Klasse wofür zuständig ist, dann muss man festlegen, welche Ereignisse es geben kann und von wem sie generiert werden (Ursache).

So) am besten in einem Shell-Login-Script, damit sie immer verfügbar sind: export LD_LIBRARY_PATH=$ACE_ROOT:$TAO_ROOT/TAO export LD_LIBRARY_PATH:$LD_LIBRARY_PATH:$TAO_ROOT/TAO/TAO_IDL Projekt aufsetzen: x Im Verzeichnis mit den eigenen C++-Entwicklungen (Bsp: /home/Peter) ist ein Verzeichnis für das CORBA-Projekt anzulegen (Bsp: Client_n_Server). h: #ifndef _SERVER_H_ #define _SERVER_H_ #include //STL class Server { public: static short Init(int argc,char* argv[]); static short TestCall(const std::string& strIN, std::string& strOUT); private: //c'tor / d'tor versteckt -> statische Klasse: Server(); Server(const Server& Obj); ~Server(); }; #endif Hier sieht man die Methode TestCall(), die später vom Client aufgerufen werden soll.

Download PDF sample

Rated 4.25 of 5 – based on 8 votes