Ἀπὸ C σὲ C++

Ο τομέας μας. ;)
Άβαταρ μέλους
Κηπουρίδης
Δημοσιεύσεις: 298
Εγγραφή: Παρ Φεβ 05, 2010 5:05 pm

Ἀπὸ C σὲ C++

Δημοσίευση από Κηπουρίδης » Παρ Σεπ 03, 2010 4:22 pm

Τὸ θέμα μιλάει ἀπὸ μόνο τοῦ. Τί προτείνουμε γιὰ ἕναν ἔμπειρο χρήστη C πού θέλει νὰ μάθει C++ ( γιά ἐπίπεδο ΠΔΠ μιλάω ). Ξεκίνησα http://www.cplusplus.com/doc/tutorial/ , ὅπως λέει στὸ instructions for use, άπὸ τὸ classes καὶ μετά, thanks to Chris. Δεκτὲς κὶ ἄλλες ἰδέες.
Υ.Γ.: Ὄχι Letmegooglethatforyou. Κάτι δοκιμασμένο 8-) .
Τελευταία επεξεργασία από το μέλος Κηπουρίδης την Σάβ Σεπ 04, 2010 6:22 pm, έχει επεξεργασθεί 2 φορές συνολικά.
Εικόνα

sotiris
Δημοσιεύσεις: 422
Εγγραφή: Τρί Φεβ 10, 2009 9:49 pm

Re: Από C σε C++

Δημοσίευση από sotiris » Παρ Σεπ 03, 2010 11:13 pm

Εγώ σε έναν έμπεριο χρήστη της C θα πρότεινα να αγοράσει ένα βιβλίο C++ όπως το "Πλήρες εγχειρήδιο της C++" το οποίο είναι πολύ καλό + ότι κάνει αναφορά στην STL.
Αφού διαβάσει το βιβλίο και πιστεύει ότι έχει κατανοήσει τις γνώσεις του ας προχωρίσει σε κάτι προχωριμένο. Κινήσεις για επίπεδο ΠΔΠ,ΙΟΙ,ΒΟΙ πρέπει να γίνονται ομαλά και όχι άμεσα.
Εικόνα

chris
Δημοσιεύσεις: 528
Εγγραφή: Κυρ Δεκ 28, 2008 9:27 am

Re: Από C σε C++

Δημοσίευση από chris » Σάβ Σεπ 04, 2010 1:48 pm

sotiris έγραψε:Εγώ σε έναν έμπεριο χρήστη της C θα πρότεινα να αγοράσει ένα βιβλίο C++ όπως το "Πλήρες εγχειρήδιο της C++" το οποίο είναι πολύ καλό + ότι κάνει αναφορά στην STL.
Αφού διαβάσει το βιβλίο και πιστεύει ότι έχει κατανοήσει τις γνώσεις του ας προχωρίσει σε κάτι προχωριμένο. Κινήσεις για επίπεδο ΠΔΠ,ΙΟΙ,ΒΟΙ πρέπει να γίνονται ομαλά και όχι άμεσα.
Έχω το πλήρες εγχειρίδιο της C, και είναι 900+ σελίδες και το βρήκα πολύ βαρύ χωρίς λόγο. Υποψιάζομαι πως και το "πλήρες εγχειρίδιο της C++" αρχίζει με απλά πράγματα που υπάρχουν και στην C, ενώ μόνο το 30% του βιβλίου θα ενδιαφέρει πραγματικά κάποιον που ξέρει C. Και να διαβάσεις ένα ολόκληρο βιβλίο 900 σελίδων για να μάθεις C++, όταν τις 450 σελίδες τις ξέρεις απ'έξω και ανακατωτά; Κρίμα είναι... Όσο για STL, μην το συζητάμε, δεν χρειάζεται βιβλίο:
http://www.cplusplus.com/reference/stl/
Μετα από 397 δημοσιεύσεις, έβαλα και υπογραφή.

Άβαταρ μέλους
thetrojan01
Δημοσιεύσεις: 712
Εγγραφή: Κυρ Δεκ 21, 2008 2:45 pm
Τοποθεσία: Ρόδος
Επικοινωνία:

Re: Ἀπὸ C σὲ C++

Δημοσίευση από thetrojan01 » Σάβ Σεπ 04, 2010 7:25 pm

http://www.cprogramming.com/tutorial.html
Κοίτα να δεις, εγώ ξεκίνησα με C++, με το βιβλίο C++ from the ground up... οπότε δεν έχω και πολλές άλλες προτάσεις... :D

ΔΕΣ ΑΥΤΟ: http://www.cprogramming.com/tutorial/c-vs-c++.html :D πιστεύω θα σε καλύψει για την ώρα :P
svyr cercrv an inevrfnv cbyl tvn an gb iyrcrvf nhgb... cvtrar xnzvn ibygn yrj tj.

Άβαταρ μέλους
kernelpanic
Δημοσιεύσεις: 404
Εγγραφή: Κυρ Δεκ 21, 2008 8:16 pm
Τοποθεσία: Αθήνα

Re: Ἀπὸ C σὲ C++

Δημοσίευση από kernelpanic » Τρί Σεπ 07, 2010 1:50 pm

Μάθε πώς δουλεύουν τα template, οι υπερφορτωμένοι τελεστές, και το this. Δε χρειάζεσαι άλλες ανατριχιαστικές λεπτομέρειες ;)
99 little bugs in the code,
99 bugs in the code,
Fix one bug,
Compile again,
104 little bugs in the code.

Άβαταρ μέλους
thetrojan01
Δημοσιεύσεις: 712
Εγγραφή: Κυρ Δεκ 21, 2008 2:45 pm
Τοποθεσία: Ρόδος
Επικοινωνία:

Re: Ἀπὸ C σὲ C++

Δημοσίευση από thetrojan01 » Τρί Σεπ 07, 2010 1:58 pm

αχα, καθώς επίσης,
να έχεις υπόψιν σου ότι πολλές φορές το
foo(myclass& obj);

είναι καλύτερο του
foo(myclass* obj);

και φυσικά χρησιμοποιείς vectors και τα άλλα μαζοχιστικά της STL... :lol:
svyr cercrv an inevrfnv cbyl tvn an gb iyrcrvf nhgb... cvtrar xnzvn ibygn yrj tj.

sotiris
Δημοσιεύσεις: 422
Εγγραφή: Τρί Φεβ 10, 2009 9:49 pm

Re: Ἀπὸ C σὲ C++

Δημοσίευση από sotiris » Τετ Σεπ 08, 2010 10:56 am

kernelpanic έγραψε:Μάθε πώς δουλεύουν τα template, οι υπερφορτωμένοι τελεστές, και το this. Δε χρειάζεσαι άλλες ανατριχιαστικές λεπτομέρειες ;)
Στα πρότυπα καλύτερα επικέντρωση στις συναρτήσεις παρά στην υλοποίηση μίας ολόκληρης κλάσης.
π.χ.
template <class X>
X Swap( X &a , X &b){
X temp=a;
a=b;
b=temp;
}

Αυτή η Swap δουλεύει για int , double,float και για τα πάντα.
Εικόνα

Άβαταρ μέλους
thetrojan01
Δημοσιεύσεις: 712
Εγγραφή: Κυρ Δεκ 21, 2008 2:45 pm
Τοποθεσία: Ρόδος
Επικοινωνία:

Re: Ἀπὸ C σὲ C++

Δημοσίευση από thetrojan01 » Πέμ Σεπ 09, 2010 12:01 am

sotiris έγραψε: Στα πρότυπα καλύτερα επικέντρωση στις συναρτήσεις παρά στην υλοποίηση μίας ολόκληρης κλάσης.
Γιατί; :?:
svyr cercrv an inevrfnv cbyl tvn an gb iyrcrvf nhgb... cvtrar xnzvn ibygn yrj tj.

sotiris
Δημοσιεύσεις: 422
Εγγραφή: Τρί Φεβ 10, 2009 9:49 pm

Re: Ἀπὸ C σὲ C++

Δημοσίευση από sotiris » Πέμ Σεπ 09, 2010 8:28 am

thetrojan01 έγραψε:
sotiris έγραψε: Στα πρότυπα καλύτερα επικέντρωση στις συναρτήσεις παρά στην υλοποίηση μίας ολόκληρης κλάσης.
Γιατί; :?:
Επειδή φτιάχνοντας μία ολόκληρη κλάση προτύπου κάνεις πιο πολύπλοκα τα πράγματα για εσένα στον διαγωνισμό "Καταρχάς σκοπός σου δεν είναι να φτιάξεις αντικείμενα". Επίσης είναι πιο αργές από τις class , struct και τους κανονικούς πίνακες :ugeek: .
Εικόνα

chris
Δημοσιεύσεις: 528
Εγγραφή: Κυρ Δεκ 28, 2008 9:27 am

Re: Ἀπὸ C σὲ C++

Δημοσίευση από chris » Πέμ Σεπ 09, 2010 11:20 am

Δείτε αυτό. Διαβάστε το, έχει πλάκα άλλα μην ψαρώνετε:
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.
Μετα από 397 δημοσιεύσεις, έβαλα και υπογραφή.

Άβαταρ μέλους
thetrojan01
Δημοσιεύσεις: 712
Εγγραφή: Κυρ Δεκ 21, 2008 2:45 pm
Τοποθεσία: Ρόδος
Επικοινωνία:

Re: Ἀπὸ C σὲ C++

Δημοσίευση από thetrojan01 » Πέμ Σεπ 09, 2010 11:33 am

sotiris έγραψε:
thetrojan01 έγραψε:
sotiris έγραψε: Στα πρότυπα καλύτερα επικέντρωση στις συναρτήσεις παρά στην υλοποίηση μίας ολόκληρης κλάσης.
Γιατί; :?:
Επειδή φτιάχνοντας μία ολόκληρη κλάση προτύπου κάνεις πιο πολύπλοκα τα πράγματα για εσένα στον διαγωνισμό "Καταρχάς σκοπός σου δεν είναι να φτιάξεις αντικείμενα". Επίσης είναι πιο αργές από τις class , struct και τους κανονικούς πίνακες :ugeek: .
Ααα τώρα μάλιστα - οκ, στον διαγωνισμό.
svyr cercrv an inevrfnv cbyl tvn an gb iyrcrvf nhgb... cvtrar xnzvn ibygn yrj tj.

Άβαταρ μέλους
kernelpanic
Δημοσιεύσεις: 404
Εγγραφή: Κυρ Δεκ 21, 2008 8:16 pm
Τοποθεσία: Αθήνα

Re: Ἀπὸ C σὲ C++

Δημοσίευση από kernelpanic » Παρ Σεπ 10, 2010 7:37 pm

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
}
99 little bugs in the code,
99 bugs in the code,
Fix one bug,
Compile again,
104 little bugs in the code.

Άβαταρ μέλους
Κηπουρίδης
Δημοσιεύσεις: 298
Εγγραφή: Παρ Φεβ 05, 2010 5:05 pm

Re: Ἀπὸ C σὲ C++

Δημοσίευση από Κηπουρίδης » Παρ Σεπ 10, 2010 11:33 pm

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.
Εικόνα

Άβαταρ μέλους
thetrojan01
Δημοσιεύσεις: 712
Εγγραφή: Κυρ Δεκ 21, 2008 2:45 pm
Τοποθεσία: Ρόδος
Επικοινωνία:

Re: Ἀπὸ C σὲ C++

Δημοσίευση από thetrojan01 » Σάβ Σεπ 11, 2010 12:06 am

Κηπουρίδης έγραψε: Με διαφορά η πιο σύντομη και εύστοχη εξήγηση που έχω δει για τα references.
Εικόνα
Πραγματικά ωραία χρήση της assert :D

@chris: είμαι πολύ περίεργος, πώς ακριβώς βρήκες εκείνο το interview με τον Stroustrup? υπάρχει πουθενά περιγραφεί για το τι είναι εκείνο το κείμενο; :P πραγματικά μου φτιαξε τη μέρα όταν το διάβασα
svyr cercrv an inevrfnv cbyl tvn an gb iyrcrvf nhgb... cvtrar xnzvn ibygn yrj tj.

chris
Δημοσιεύσεις: 528
Εγγραφή: Κυρ Δεκ 28, 2008 9:27 am

Re: Ἀπὸ C σὲ C++

Δημοσίευση από chris » Τετ Σεπ 15, 2010 10:57 pm

thetrojan01 έγραψε:
Κηπουρίδης έγραψε: Με διαφορά η πιο σύντομη και εύστοχη εξήγηση που έχω δει για τα references.
Εικόνα
Πραγματικά ωραία χρήση της assert :D

@chris: είμαι πολύ περίεργος, πώς ακριβώς βρήκες εκείνο το interview με τον Stroustrup? υπάρχει πουθενά περιγραφεί για το τι είναι εκείνο το κείμενο; :P πραγματικά μου φτιαξε τη μέρα όταν το διάβασα
Σε ένα φόρουμ πρέπει να το είχα βρεί, όπως είπα όμως μην ψαρώνετε! Googlάρε, θα το βρείς. Δεν είναι πραγματική συνέντευξη. Δεν μάθαινα εγώ τόσο καιρό C++ για να μειώσω την παραγωγή κώδικα και την δημιουργικότητα μου ώστε να αυξηθεί ο μελλοντικός μισθός μου... αν και δεν ακούγεται τόσο άσχημο!
Μετα από 397 δημοσιεύσεις, έβαλα και υπογραφή.

Άβαταρ μέλους
thetrojan01
Δημοσιεύσεις: 712
Εγγραφή: Κυρ Δεκ 21, 2008 2:45 pm
Τοποθεσία: Ρόδος
Επικοινωνία:

Re: Ἀπὸ C σὲ C++

Δημοσίευση από thetrojan01 » Πέμ Σεπ 16, 2010 12:16 pm

ναι άλλωστε και ο ίδιος ο καθηγητής στη σελίδα του αναφέρει ότι δεν έδωσε πότε τέτοια συνέντευξη. ήμουν απλά περίεργος πού το τσίμπησες.

συγγνώμη για τη στίξη μου αλλά γράφω σε νόκια κινητό. :)
svyr cercrv an inevrfnv cbyl tvn an gb iyrcrvf nhgb... cvtrar xnzvn ibygn yrj tj.

Άβαταρ μέλους
Κηπουρίδης
Δημοσιεύσεις: 298
Εγγραφή: Παρ Φεβ 05, 2010 5:05 pm

Re: Ἀπὸ C σὲ C++

Δημοσίευση από Κηπουρίδης » Δευ Φεβ 07, 2011 6:30 pm

Ἀφοὺ οὐσιαστικὰ αὐτὸ ποὺ θέλουμε γιὰ τὸν διαγωνισμὸ εἶναι ἡ STL, ἕνα πολὺ καλὸ βιβλίο ( τουλάχιστον ὅπως τὸ θέλω ἐγώ, νὰ μπορεῖς νὰ τὸ δουλέψεις μόνος σου... ) εἶναι τὸ The C++ Standard Library - A Tutorial and Reference.
Εικόνα

Άβαταρ μέλους
Κηπουρίδης
Δημοσιεύσεις: 298
Εγγραφή: Παρ Φεβ 05, 2010 5:05 pm

Re: Ἀπὸ C σὲ C++

Δημοσίευση από Κηπουρίδης » Τρί Φεβ 08, 2011 5:45 pm

Παιδιά, ὅσοι δὲν ξέρετε STL, νὰ μάθετε!
Προλαβαίνετε πολὺ εὔκολα πρὶν τὸν διαγωνισμὸ καὶ ἔχει ΚΟΡΥΦΑΙΑ ἐργαλεία!
Ὅσο σκέφτομαι ὅτι δὲν ἤξερα ὅτι ὐπάρχει min/max element, find, sort... θὰ σὰς σώσει ἀπὸ ΠΟΛΥ κόπο.
Εικόνα

chris
Δημοσιεύσεις: 528
Εγγραφή: Κυρ Δεκ 28, 2008 9:27 am

Re: Ἀπὸ C σὲ C++

Δημοσίευση από chris » Τετ Φεβ 09, 2011 1:03 am

Κηπουρίδης έγραψε:Παιδιά, ὅσοι δὲν ξέρετε STL, νὰ μάθετε!
Προλαβαίνετε πολὺ εὔκολα πρὶν τὸν διαγωνισμὸ καὶ ἔχει ΚΟΡΥΦΑΙΑ ἐργαλεία!
Ὅσο σκέφτομαι ὅτι δὲν ἤξερα ὅτι ὐπάρχει min/max element, find, sort... θὰ σὰς σώσει ἀπὸ ΠΟΛΥ κόπο.
Ok, όχι και η min/max :o
Μετα από 397 δημοσιεύσεις, έβαλα και υπογραφή.

Άβαταρ μέλους
Κηπουρίδης
Δημοσιεύσεις: 298
Εγγραφή: Παρ Φεβ 05, 2010 5:05 pm

Re: Ἀπὸ C σὲ C++

Δημοσίευση από Κηπουρίδης » Τετ Φεβ 09, 2011 4:07 pm

Min element / Max element, ὄχι min/max :mrgreen: .
Οὔτε τὴν swap ἤξερα!
Εικόνα

Απάντηση