By Sutter H.

Show description

Read or Download Exceptional C++ . 47 technische Denkaufgaben, Programmierprobleme und ihre Losungen PDF

Similar programming: programming languages books

Essential Java Fast : How to write object oriented software for the Internet

Java is a brand new and intriguing object-oriented programming language that's set to rework the area vast net. Java permits clients to jot down purposes that are accessed throughout diverse systems and gives a good technique of development small yet robust courses that allow an immense diversity of recent purposes - akin to animation, dwell updating, two-way interactions and so on.

Designing SQL Server 2000 Databases. for .Net ™ Enterprise Servers

The Microsoft . web initiative is the way forward for e-commerce - making it attainable for companies to construct a safe, trustworthy e-commerce infrastructure. this is often the 1st e-book to stipulate the functions of SQL Server 2000, one of many key parts of . internet. SQL Server 2000 introduces strong new information mining performance designed particularly to trap and strategy buyer profiles and to foretell destiny procuring styles on e-commerce websites.

Extra info for Exceptional C++ . 47 technische Denkaufgaben, Programmierprobleme und ihre Losungen

Example text

Wir wissen, dass die Speicherfreigabe 38 3 Exception-Sicherheit durch operator delete[]() niemals Exceptions auswirft, denn der Standard verlangt, dass dieser Operator eine der beiden folgenden Signaturen aufweist:2 void operator delete[]( void* ) throw(); void operator delete[]( void*, size_t ) throw(); Die einzig mögliche Quelle für Exceptions könnte daher nur noch einer der T::~T-Aufrufe sein, jedoch haben wir bereits willkürlich festgelegt, dass der Stack-Destruktor keine Exceptions auswirft.

Freigeben. Mehr dazu, wenn wir mit dieser Miniserie fortfahren.  Richtlinie Beachten Sie die kanonischen Exception-Sicherheitsregeln: Gestatten Sie niemals einer Exception, einen Destruktor oder einen überladenen operator delete() bzw. operator delete[]() zu verlassen. Schreiben Sie jeden Destruktor und jede Deallozierungsfunktion so, als hätten sie eine Exception-Spezifikation »throw()«. Mehr dazu im Folgenden; hierbei handelt es sich um ein wichtiges Thema. Lektion 9: Entwurf exception-sicheren Codes – Teil 2 Schwierigkeitsgrad: 8 Wo wir jetzt den Default-Konstruktor und den Destruktor in der Tasche haben, könnten wir möglicherweise versucht sein zu denken, dass das mit den anderen Funktionen genauso klappt.

Nehmen wir uns trotzdem ein paar Minuten Zeit, um die Lösungen zu untersuchen. Und beachten Sie auch die Bemerkungen. Konstruktor Der Konstruktor ist relativ unkompliziert. Wir benutzen operator new(), um den Puffer als Rohspeicher zu allozieren. ) template StackImpl::StackImpl( size_t size ) : v_( static_cast ( size == 0 ? 0 : operator new(sizeof(T)*size) ) ), vsize_(size), vused_(0) { } Destruktor Von den drei Funktionen ist der Destruktor die am einfachsten zu implementierende.

Download PDF sample

Rated 4.29 of 5 – based on 17 votes