Επιστροφή από συνάρτηση

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
nif
Δημοσιεύσεις: 13
Εγγραφή: 27 Δεκ 2008 19:28

Επιστροφή από συνάρτηση

Δημοσίευση από nif » 02 Ιαν 2009 15:47

γειά σας παιδια και Καλή χρονιά σε όλους.

έστω ότι θέλουμε από μια συνάρτηση να επιστρέψουμε 2 διαφορετικούς τύπους,
ας πούμε έναν πίνακα και έναν ακέραιο(πχ άθροισμα των τιμών του πίνακα).
εφόσον μπορούμε να κάνουμε μονο μια φορά return(πχ τον πίνακα) τον άλλον αριθμό πως θα τον επιστρέψουμε;αν δεν κάνω λάθος θα περάσουμε ως όρισμα στη συνάρτηση έναν δείκτη σε έναν ακέραιο και θα κάνουμε την αλλαγή με αυτόν τον τρόπο.άλλη λύση υπαρχει;

και κάτι άλλο:
έστω ότι απο μια συνάρτηση θελουμε να επιστρέψουμε υπό προυποθέσεις ή έναν πίνακα ή έναν ακέραιο ()
αυτό μπορεί να γίνει;
τι θα κάνουμε;θα επιστρέψουμε πίνακα με ένα στοιχείο(τον ακέραιο) και η συνάρτηση θα δηλωθεί ότι επιστρέφει πίνακα (int*);

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Επιστροφή από συνάρτηση

Δημοσίευση από dva_dev » 02 Ιαν 2009 18:06

Οι functions μπορούν να επιστρέψουν 1 πράγμα μόνο, αλλά αυτό δεν χρειάζεται να είναι κάποιος απλός τύπος δεδομένων, μπορεί να είναι όσο σύνθετη δομή χρειαζόμαστε. Φυσικά αν είναι κάτι σύνθετο προτείνεται αντ' αυτού να επιστρέφεται pointer στην δομή και όχι η ίδια η δομή. Επιπλέον μπορείς να χρησιμοποιήσεις είτε output parameters, είτε references, αν και references θα πρότεινα να αποφύγεις.

Άβαταρ μέλους
unreal
Δημοσιεύσεις: 49
Εγγραφή: 04 Ιουν 2004 16:12
Τοποθεσία: Inside My Brain!

Επιστροφή από συνάρτηση

Δημοσίευση από unreal » 08 Ιαν 2009 11:23

ή να είσαι κάφρος και στο τέλος του πίνακα να βάλεις το άθροισμα :P

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες