User Tools

Site Tools


cpp:namespace

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
cpp:namespace [2017/04/12 07:09] gthanoscpp:namespace [Unknown date] (current) – external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
 ====== Χώροι Ονομάτων (Namespaces) ====== ====== Χώροι Ονομάτων (Namespaces) ======
  
-Προκειμένου να αποφεύγονται οι συγκρούσεις ονομάτων μεταξύ //global// μεταβλητών, κλάσεων ή συνάρτησεων η C++ ορίζει την έννοια του χώρου ονομάτων (//namespace//). Ένας χώρος ονομάτων δίνει την δυνατότητα να ορίσουμε μεταβλητές, κλάσεις και μεθόδους μοναδικές μόνο για το συγκεκριμένο χώρο ονομάτων. Άλλοι χώροι ονομάτων μπορεί να περιέχουν μεταβλητές, κλάσεις ή μεθόδους με τα ίδια ονόματα. Η ύπαρξη περισσότερων του ενός χώρων ονομάτων δίνει την δυνατότητα να ορίσουμε δύο ή περισσότερες μεταβλητές, κλάσεις ή συναρτήσεις με το ίδιο όνομα σε διαφορετικούς χώρους ονομάτων.+Προκειμένου να αποφεύγονται οι συγκρούσεις ονομάτων μεταξύ //global// μεταβλητών, κλάσεων ή συνάρτησεων η C++ ορίζει την έννοια του χώρου ονομάτων (//namespace//). Ένας χώρος ονομάτων δίνει την δυνατότητα να ορίσουμε μεταβλητές, κλάσεις και μεθόδους μοναδικές μόνο για το συγκεκριμένο χώρο ονομάτων. Διαφορετικοί χώροι ονομάτων μπορεί να περιέχουν μεταβλητές, κλάσεις ή μεθόδους με τα ίδια ονόματα. 
  
 Ένα //namespace// ορίζεται ως εξής: Ένα //namespace// ορίζεται ως εξής:
Line 20: Line 20:
 ===== Προσπέλαση των στοιχείων του namespace ===== ===== Προσπέλαση των στοιχείων του namespace =====
  
-Η προσπέλαση/χρήση των περιεχομένων ενός namespace μπορεί να γίνει με τρεις τρόπους.+Η προσπέλαση/χρήση των περιεχομένων ενός namespace μπορεί να γίνει με τους παρακάτω τρεις τρόπους!
  
-=== Δηλώνοντας το namespace σε κάθε κλήση των περιεχομένων του με την βοήθεια του τελεστή :: ===+==== Δηλώνοντας το namespace σε κάθε κλήση των περιεχομένων του με την βοήθεια του τελεστή :: ====
  
 <WRAP center round tip 80%> <WRAP center round tip 80%>
Line 43: Line 43:
 </code> </code>
  
-=== Mε δήλωση μόνο των ονομάτων που θα χρησιμοποιηθούν ===+==== Mε δήλωση μόνο των ονομάτων που θα χρησιμοποιηθούν ====
  
 Χρησιμοποιούμε την έκφραση ''using namespace_name::var_name'', όπως παρακάτω: Χρησιμοποιούμε την έκφραση ''using namespace_name::var_name'', όπως παρακάτω:
Line 64: Line 64:
 </code> </code>
  
-=== Με δήλωση του namespace από το οποίο θα χρησιμοποιηθούν συγκεκριμένα ονόματα ===+==== Με δήλωση του namespace από το οποίο θα χρησιμοποιηθούν συγκεκριμένα ονόματα ====
  
 Χρησιμοποιούμε την έκφραση ''using namespace namespace_name'', όπως παρακάτω: Χρησιμοποιούμε την έκφραση ''using namespace namespace_name'', όπως παρακάτω:
Line 84: Line 84:
 </code> </code>
  
-=== Παράδειγμα ορισμού και χρήσης μεταβλητών και μεθόδων με το ίδιο όνομα από δύο διαφορετικά namespaces ===+===== Παράδειγμα ορισμού και χρήσης μεταβλητών και μεθόδων με το ίδιο όνομα από δύο διαφορετικά namespaces =====
  
-Στο παράδειγμα που ακολουθεί ορίζονται δύο //namespaces// τα οποία περιέχουν μία μεταβλητή και μία συνάρτηση με το ίδιο όνομα. Δείτε πως διακρίνουμε τις επιμέρους μεταβλητές με χρήση του ονόματος του αντίστοιχου //namespace// πριν από την χρήση κάθε μεταβλητής ή συνάρτησης.+Στο παράδειγμα που ακολουθεί ορίζονται δύο //namespaces// τα οποία περιέχουν μία μεταβλητή και μία συνάρτηση με κοινό όνομα. Παρατηρήστε πως διακρίνουμε τις επιμέρους μεταβλητές με χρήση του ονόματος του αντίστοιχου //namespace// πριν από την χρήση κάθε μεταβλητής ή συνάρτησης.
  
 <code c++ nameVisibility.cpp> <code c++ nameVisibility.cpp>
cpp/namespace.1491980974.txt.gz · Last modified: 2017/04/12 06:09 (external edit)