Προς το περιεχόμενο

C++ Vector ? ? ?


Προτεινόμενες αναρτήσεις

Δημοσ.

Πιθανόν όπως λένε τα παιδιά θα μπορούσες να κάνεις κάτι χρήσιμο αν προσέγγιζες το θέμα διαφορετικά.

 

Διαφορετικά types of object στον ίδιο vector απλά το ξεχνάς, είτε έχουν σχέση μεταξύ τους είτε δεν έχουν.

 

Όταν θέλουμε κάτι τέτοιο συνήθως μιλάμε για objects στην ίδια ιεραρχία κλάσεων και χρησιμοποιούμε vector από pointers.

 

To vector<void*> από μόνο του θα είναι ψιλοάχρηστο γιατί δεν έχεις τρόπο να δεις τι ακριβώς είναι ο κάθε pointer που έβαλες μέσα.

 

Vector από boost::variant μπορεί να είναι μια λύση αλλά αμφιβάλλω αν είναι η καλύτερη για την περίπτωσή σου (βασικά δεν είναι ξεκάθαρη η περίπτωσή σου).

 

Αλλά το μεγαλύτερο κόκκινο λαμπάκι είναι το εξής: όπου στο τέλος θα περάσουν σε μια πλατφόρμα που δέχεται ως είσοδο ΜΟΝΟ έναν vector.

 

Αν η πλατφόρμα είναι δική σου τότε μπορείς να την τροποποιήσεις ανάλογα. Αν δε μπορείς να την τροποποιήσεις τότε αναγκαστικά θα της περάσεις αυτό που εκείνη δέχεται, όχι ο,τι σου κατέβει στο κεφάλι. Άρα δεν καταλαβαίνω τι κέρδος μπορεί να προκύψει από αυτή τη συζήτηση.

Δημοσ.

Και boost::any παίζει πέρα από variant... 

Φίλε μου groot δεν υπάρχει περίπτωση να πάρω στραβά κάτι διότι δεν γνωρίζεις το ιστορικό όλης της διαδικασίας. Ο κώδικας μου ήρθε εν μέρη "έτοιμος" και τον συνέχυσα.

Ο τρόπος που είπες με Pure Virtual Class πιστεύω ότι θα δουλέψει, όμως πρέπει να γράψω εξ αρχής τον κώδικα, και αυτά που έγραψα εγώ και αυτά που μου έστειλαν.

Όσο για το boost δεν το έχω συναντήσει ποτέ, θα το κοιτάξω και μακάρι να γλυτώνω κόπο!

  • Like 1
Δημοσ.

Φίλε μου groot δεν υπάρχει περίπτωση να πάρω στραβά κάτι διότι δεν γνωρίζεις το ιστορικό όλης της διαδικασίας. Ο κώδικας μου ήρθε εν μέρη "έτοιμος" και τον συνέχυσα.

Ο τρόπος που είπες με Pure Virtual Class πιστεύω ότι θα δουλέψει, όμως πρέπει να γράψω εξ αρχής τον κώδικα, και αυτά που έγραψα εγώ και αυτά που μου έστειλαν.

Όσο για το boost δεν το έχω συναντήσει ποτέ, θα το κοιτάξω και μακάρι να γλυτώνω κόπο!

 

 

Eδώ είσαι!

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...