summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--8.00.Ringliste.cc17
1 files changed, 7 insertions, 10 deletions
diff --git a/8.00.Ringliste.cc b/8.00.Ringliste.cc
index 3468f08..dbb26d2 100644
--- a/8.00.Ringliste.cc
+++ b/8.00.Ringliste.cc
@@ -66,6 +66,7 @@ Ringliste<T>::Ringliste ( uint lng ){
index = 0;
laenge = lng;
element = new T[laenge];
+ assert( element != NULL );
} // ----- end of function Ringliste<T>::Ringliste -----
// === FUNCTION ======================================================================
@@ -74,18 +75,15 @@ Ringliste<T>::Ringliste ( uint lng ){
// =====================================================================================
template < class T >
Ringliste<T>::Ringliste ( const Ringliste<T> &other ){
- // Exeption safty
- T *tmp = new T[other.laenge];
-
- for(uint i = 0; i < other.laenge; i++){
- tmp[i] = other.element[i];
- }
-
laenge = other.laenge;
index = other.index;
- delete[] element;
- element = tmp;
+ element = new T[laenge];
+ assert( element != NULL );
+
+ for(uint i = 0; i < other.laenge; i++){
+ element[i] = other.element[i];
+ }
} // ----- end of function Ringliste<T>::Ringliste -----
// === FUNCTION ======================================================================
@@ -120,7 +118,6 @@ void Ringliste<T>::dump (){
// =====================================================================================
template < class T >
Ringliste<T>& Ringliste<T>::add ( T wert ){
- assert( element != NULL );
assert( index < laenge );
element[index] = wert;