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