Υ.Γ.: Ὄχι Letmegooglethatforyou. Κάτι δοκιμασμένο

Έχω το πλήρες εγχειρίδιο της C, και είναι 900+ σελίδες και το βρήκα πολύ βαρύ χωρίς λόγο. Υποψιάζομαι πως και το "πλήρες εγχειρίδιο της C++" αρχίζει με απλά πράγματα που υπάρχουν και στην C, ενώ μόνο το 30% του βιβλίου θα ενδιαφέρει πραγματικά κάποιον που ξέρει C. Και να διαβάσεις ένα ολόκληρο βιβλίο 900 σελίδων για να μάθεις C++, όταν τις 450 σελίδες τις ξέρεις απ'έξω και ανακατωτά; Κρίμα είναι... Όσο για STL, μην το συζητάμε, δεν χρειάζεται βιβλίο:sotiris έγραψε:Εγώ σε έναν έμπεριο χρήστη της C θα πρότεινα να αγοράσει ένα βιβλίο C++ όπως το "Πλήρες εγχειρήδιο της C++" το οποίο είναι πολύ καλό + ότι κάνει αναφορά στην STL.
Αφού διαβάσει το βιβλίο και πιστεύει ότι έχει κατανοήσει τις γνώσεις του ας προχωρίσει σε κάτι προχωριμένο. Κινήσεις για επίπεδο ΠΔΠ,ΙΟΙ,ΒΟΙ πρέπει να γίνονται ομαλά και όχι άμεσα.
Στα πρότυπα καλύτερα επικέντρωση στις συναρτήσεις παρά στην υλοποίηση μίας ολόκληρης κλάσης.kernelpanic έγραψε:Μάθε πώς δουλεύουν τα template, οι υπερφορτωμένοι τελεστές, και το this. Δε χρειάζεσαι άλλες ανατριχιαστικές λεπτομέρειες
Γιατί;sotiris έγραψε: Στα πρότυπα καλύτερα επικέντρωση στις συναρτήσεις παρά στην υλοποίηση μίας ολόκληρης κλάσης.
Επειδή φτιάχνοντας μία ολόκληρη κλάση προτύπου κάνεις πιο πολύπλοκα τα πράγματα για εσένα στον διαγωνισμό "Καταρχάς σκοπός σου δεν είναι να φτιάξεις αντικείμενα". Επίσης είναι πιο αργές από τις class , struct και τους κανονικούς πίνακεςthetrojan01 έγραψε:Γιατί;sotiris έγραψε: Στα πρότυπα καλύτερα επικέντρωση στις συναρτήσεις παρά στην υλοποίηση μίας ολόκληρης κλάσης.
Stroustrup:
Well, it's been long enough, now, and I believe most people
have figured out for themselves that C++ is a waste of time but,
I must say, it's taken them a lot longer than I thought it would.
Stroustrup:
It was only supposed to be a joke, I never thought people would
take the book seriously. Anyone with half a brain can see that
object-oriented programming is counter-intuitive, illogical and
inefficient.
Ααα τώρα μάλιστα - οκ, στον διαγωνισμό.sotiris έγραψε:Επειδή φτιάχνοντας μία ολόκληρη κλάση προτύπου κάνεις πιο πολύπλοκα τα πράγματα για εσένα στον διαγωνισμό "Καταρχάς σκοπός σου δεν είναι να φτιάξεις αντικείμενα". Επίσης είναι πιο αργές από τις class , struct και τους κανονικούς πίνακεςthetrojan01 έγραψε:Γιατί;sotiris έγραψε: Στα πρότυπα καλύτερα επικέντρωση στις συναρτήσεις παρά στην υλοποίηση μίας ολόκληρης κλάσης..
Το ξέχασα αυτό...thetrojan01 έγραψε:foo(myclass& obj);
Κώδικας: Επιλογή όλων
void f(int i){
i=1;
}
void g(){
int i=0;
f(i);
assert(!i);//i==0
}
Κώδικας: Επιλογή όλων
void f(int &i){
i=1;
}
void g(){
int i=0;
f(i);
assert(i);//i==1
}
Με διαφορά η πιο σύντομη και εύστοχη εξήγηση που έχω δει για τα references.kernelpanic έγραψε:Το ξέχασα αυτό...thetrojan01 έγραψε:foo(myclass& obj);
Αυτό που λες, φίλτατε Κηπουρίδη, το όρισμα με το αμπερζάντι, δεν είναι ένα αντίγραφο της παραμέτρου που έδωσες για να καλέσεις τη συνάρτηση, αλλά η ίδια μεταβλητή που χρησιμοποίησες έξω από τη συνάρτηση, και έτσι να της φέρεσαι.
Κώδικας: Επιλογή όλων
void f(int i){ i=1; } void g(){ int i=0; f(i); assert(!i);//i==0 }
Κώδικας: Επιλογή όλων
void f(int &i){ i=1; } void g(){ int i=0; f(i); assert(i);//i==1 }
Κηπουρίδης έγραψε: Με διαφορά η πιο σύντομη και εύστοχη εξήγηση που έχω δει για τα references.
Σε ένα φόρουμ πρέπει να το είχα βρεί, όπως είπα όμως μην ψαρώνετε! Googlάρε, θα το βρείς. Δεν είναι πραγματική συνέντευξη. Δεν μάθαινα εγώ τόσο καιρό C++ για να μειώσω την παραγωγή κώδικα και την δημιουργικότητα μου ώστε να αυξηθεί ο μελλοντικός μισθός μου... αν και δεν ακούγεται τόσο άσχημο!thetrojan01 έγραψε:Κηπουρίδης έγραψε: Με διαφορά η πιο σύντομη και εύστοχη εξήγηση που έχω δει για τα references.
Πραγματικά ωραία χρήση της assert
@chris: είμαι πολύ περίεργος, πώς ακριβώς βρήκες εκείνο το interview με τον Stroustrup? υπάρχει πουθενά περιγραφεί για το τι είναι εκείνο το κείμενο;πραγματικά μου φτιαξε τη μέρα όταν το διάβασα
Ok, όχι και η min/maxΚηπουρίδης έγραψε:Παιδιά, ὅσοι δὲν ξέρετε STL, νὰ μάθετε!
Προλαβαίνετε πολὺ εὔκολα πρὶν τὸν διαγωνισμὸ καὶ ἔχει ΚΟΡΥΦΑΙΑ ἐργαλεία!
Ὅσο σκέφτομαι ὅτι δὲν ἤξερα ὅτι ὐπάρχει min/max element, find, sort... θὰ σὰς σώσει ἀπὸ ΠΟΛΥ κόπο.