Metamorph hat geschrieben:Ich weiss leider nicht mehr wie das Buch heisst. Es ist auf jeden Fall vom Addison-Wesley-Verlag.
Das Buch heißt vermutlich "Effektive C++ Programmierung", ist von Addison Wesley und enthält 35 Tipps. Alternativ heißt das Buch "Mehr effektive C++ Programmierung", ist auch von Addison Wesley. Es gibt afaik noch einen 3. Teil, der bisher allerdings nicht übersetzt ist.
Metamorph hat geschrieben:Es ist schade, dass effektive Programmierung in der heutigen Zeit nicht mehr so wichtig ist. Das wäre in jedem Bereich nur sinnvoll. Am schlimmsten ist es bei den Spielen oder bei Vista (Aero). ^^
Effektive Programmierung ist durchaus wichtig.
Für die Fibunacci-Reihe gilt: (
http://de.wikipedia.org/wiki/Fibonacci-Folge)
fib(0) = 0, fib(1) = 1, fib( i ) = fib( i-1 ) + fib( i-2 )
Oder als korrekte Abbildung in CPP:
Code: Alles auswählen
#include <iostream>
long long int fib( int i )
{
if( i <= 1 ) return i;
return fib( i - 1 ) + fib( i - 2 );
}
int main(void)
{
std::cout << "fib von 60 ist: " << fib( 60 ) << std::endl;
return 0;
}
Hmm... und nun warte ich darauf, wie lange ein MacBook braucht, um die 60. Fibonacci-Zahl auszurechnen. Das MacBook ist ein gutes Stück schneller als mein Desktop und da ich mir sonst hier die Finger wund schreibe... Es eignet sich hervorragend, um Akkulaufzeit zu vernichten, der Lüfter zeigt jedenfalls an, dass der Rechner gut beschäftigt ist... das Programm ist ein 1A-Pentium Killer, obwohl derzeit killt es einen Kern eines Core2Duo mit 2.2GHz. <däumchendreh>... Vielliecht hätte fib(55) auch gereicht... oder fib(50)... fib(40) ging noch in vertretbarer Zeit.
*gähn*... im Nachbarfenster werde ich schon nicht mehr als aktiver User aufgeführt...
Ich gebe auf, keine Lust mehr...
Code: Alles auswählen
ocalhost:test xin$ g++ fib.cpp
localhost:test xin$ time ./a.out
^C
real 19m5.712s
user 18m51.226s
sys 0m2.676s
localhost:test xin$ time ./a.out
fib von 40 ist: 102334155
real 0m3.408s
user 0m3.345s
sys 0m0.015s
localhost:test xin$ time ./a.out
fib von 45 ist: 1134903170
real 0m37.579s
user 0m37.022s
sys 0m0.113s
localhost:test xin$
Wer will fib von 60 oder 80 ausrechnen? (Prozessoren unter Volllast ziehen viel Strom und Strom ist teuer

)
Wenn man effizient programmiert, weiß ich nicht, ob time da überhaupt noch eine Zeit misst...
Wer also glaubt, dass effiziente Programmierung heute nicht mehr wichtig ist, der schreibt vermutlich auch nur Datenbank abfragen.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.