Προς το περιεχόμενο

#ifdef ,#ifndef


kikonas

Προτεινόμενες αναρτήσεις

Δημοσ.

Τα βλεπω συνεχεια στα .hpp αρχεια(αλλα χρησιμοπουνται και αλλου).Ποτε χρειαζονται?

Ευχαριστω.

Δημοσ.

Αυτά είναι macros και τα χρησιμοποιεί ο preprocessor για να διαμορφώσει ανάλογα τον κώδικα . Χρησιμοποιούνται για την δημιουργία cross platform εφαρμογών .

Δημοσ.

Χρησιμοποιούνται για ένα κάρο λόγους. Δηλώνουν συνθήκες στον preprocessor: εάν έχει γίνει define το τάδε, τότε το κομμάτι του κώδικα μέχρι το αντίστοιχο #endif θα τρέξει, αλλιώς όχι. Μπορείς να το χρησιμοποιείς για να σιγουρέψεις οτι κάποια πράγματα έχουν οριστεί (αλλιώς τα ξαναορίζεις), για να τρέχεις διαφορετικά κομμάτια κώδικα ανάλογα την πλατφόρμα που λέει και ο m1cRo, για να αλλάζεις γενικά το τι θα τρέξει και το τι όχι κάνοντας define κάτι μέσω του compiler (στο command line, όταν κάνεις compile τον κώδικα) κτλ κτλ

Δημοσ.

Όταν λες ότι τα βλέπεις σε *.hpp αρχεία μήπως είναι σε συνδυσμό με την δήλωση μιας κλάσης; Σε αυτήν την περίπτωση λειτουργούν σαν προφυλάξεις συμπερίληψης ή include-guards. Ο ρόλος τους είναι να μην δηλώνεται κάποια μεταβλητή-δομή-κλάση περισσότερο απο μια φορά σ'ένα αρχείο συμπερίληψης. Για παράδειγμα:

 

Αρχείο foo.hpp:

 

>
#ifndef FOO_HPP
#define FOO_HPP

class foo
{
     // ...
};

#endif

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...