Re: C++ ερώτηση (typedef)

Vasillis Kioustelidis vasillis.kioustelidis at gmail.com
Tue Apr 24 00:44:00 EEST 2012


Είναι αρκετά έως πολύ κακό. Αν κάνεις include τα δυο headers σε ένα τρίτο
αρχείο θα προκύψει πρόβλημα αφού ο preparser θα ενσωματώσει τα δυο typedefs
σε ένα αρχείο και ο compiler θα σου χτυπήσει. Μπορείς να κάνεις δύο
πράγματα για να το αποφύγεις αυτό :

   1. rename το ένα typedef
   2. χρήση του κάθε typedef εσωτερικά στην κλάση που το χρησιμοποιεί
   3. χρήση του ενός typedef μονο στο cpp αρχειο

Λίγα λόγια για το νο 2. :
class A
{
          typedef int COUNTER;
          COUNTER my_a_counter;
};

class b
{
          typedef int COUNTER;
          COUNTER my_b_counter;
};

Στην πρωτη κλάση ο my_a_counter έχει τύπο A::COUNTER, στην δεύτερη κλάση ο
my_b_counter έχει τύπο B::COUNTER. Παρότι έχουν το ίδιο όνομα ανήκουν σε
διαφορετικά namespaces.

2012/4/24 Θοδωρής Λύτρας <thlytras at gmail.com>

> Γρήγορη ερώτηση:
> Πόσο κακό είναι να δηλώσω το ίδιο typedef σε δύο διαφορετικά headers ??
>
> Ήθελα να χρησιμοποιήσω το ίδιο typedef σε δύο διαφορετικές κλάσσεις που δεν
> έχουν άμεση σχέση μεταξύ τους.
>
> Μήπως πρέπει να χρησιμοποιήσω κάποιου είδους include guards??
>
> Ευχαριστώ,
> Θοδωρής
>
> --
> "Beauty is transitory"
> "Beauty survives"
>        - Mr. Spock & Capt. Kirk, "That which survives", stardate unknown
> by Theodore Lytras <thlytras at gmail.com>
>
>
> --
> linux-greek-users mailing list -- http://lists.hellug.gr
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.hellug.gr/pipermail/linux-greek-users/attachments/20120424/bc17a203/attachment.html>


More information about the Linux-greek-users mailing list