Δημοσιεύτηκε: 09 Φεβ 2012, 01:18
Star_Light έγραψε:
δεν μπορω πλεον να καταλαβω 2 πράγματα :
1. Δεδομενου οτι οι τοπικές μεταβλητές έχουν περιορισμένο lifetime πως μπορούμε εμείς να τις επιστρέψουμε
στον caller και μετα αυτος να τις εκτυπώσει ? Αφου καταργούνται λεει οταν τελειώνει η συνάρτηση. Δεν ξερω μπερδευτηκα
παλι ρε γαμωτη.
Τα περιεχόμενά τους παραμένουν στη μνήμη μέχρι να γίνουν overwrite (απλώς η μνήμη αυτή μαρκάρεται ως διαθέσιμη για όποιον τη ζητήσει μελλοντικά). Οπότε γράφοντας εσύ:
- Κώδικας: Επιλογή όλων
x = foo();
παίρνεις άμεσα ότι έχει βάλει η συνάρτηση σε εκείνη τη μνήμη, πριν προλάβει να γίνει overwrite από κάποια άλλη κλήση συνάρτησης ή οτιδήποτε
έγραψε:
2. Ποτε χρειαζόμαστε πραγματικά να περνάμε ορίσματα σε μια συνάρτηση? :/
Τι εννοείς; Αν, όπου κι όταν νομίζεις πως εξυπηρετεί καλύτερα τη λογική του προγράμματός σου.