Γηρυόνης Δημοσ. 8 Ιουνίου 2001 Δημοσ. 8 Ιουνίου 2001 #include <iostream.h><P>void main()<BR>{<BR> int football[5]={2,2,3,4,5};<BR> for (int i=0;i<5;i++)<BR> {<BR> int y=i[football];<BR> cout<<y;<BR> }<BR>}<P> To παραπάνω κάνει compile και τρέχει κανονικότα κάτω από το Visual C++. Στη Java αυτό είναι compile-time error: "Cannot convert int[] to int". Φαίνεται ότι οι compilers της C++ έχουνε κληρονομήσει κάτι από τη λειτουργικότητα της C. Υπάρχει μία αυτονόητη μετατροπή του πίνακα σε pointer τύπο, οπότε η μεταβλητή "football" από πίνακας γίνεται ακέραιος.<P> Ένας φίλος μου μου έιπε ότι αυτό μπορεί να βασιστεί πάνω στην μαθηματικό τύπο a = *(a + = *(b + a) = b[a]. Περίεργο πάντως...
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.