Τι είναι το Constexpr στην C++;
Τι είναι το Constexpr στην C++;

Βίντεο: Τι είναι το Constexpr στην C++;

Βίντεο: Τι είναι το Constexpr στην C++;
Βίντεο: if constexpr C++17 2024, Ενδέχεται
Anonim

constexpr καθορίζει ότι η τιμή ενός αντικειμένου ή μιας συνάρτησης μπορεί να αξιολογηθεί κατά το χρόνο μεταγλώττισης και η έκφραση μπορεί να χρησιμοποιηθεί σε άλλες σταθερές εκφράσεις. Για παράδειγμα, στον παρακάτω κώδικα το προϊόν() αξιολογείται κατά το χρόνο μεταγλώττισης. Στη C++ 11, α constexpr Η συνάρτηση πρέπει να περιέχει μόνο μία δήλωση επιστροφής.

Επιπλέον, σε τι χρησιμοποιείται το Constexpr;

ο constexpr Ο προσδιοριστής δηλώνει ότι είναι δυνατό να αξιολογηθεί η τιμή της συνάρτησης ή της μεταβλητής κατά το χρόνο μεταγλώττισης. Τέτοιες μεταβλητές και συναρτήσεις μπορούν στη συνέχεια να είναι μεταχειρισμένος όπου επιτρέπονται μόνο εκφράσεις μεταγλώττισης χρονικής σταθεράς. ΕΝΑ constexpr προσδιοριστής χρησιμοποιείται σε μια δήλωση αντικειμένου συνεπάγεται const.

αξιολογείται το Constexpr; 2 Απαντήσεις. constexpr λειτουργίες θα είναι αξιολογηθεί στο χρόνο μεταγλώττισης όταν όλα τα ορίσματά του είναι σταθερές εκφράσεις και το αποτέλεσμα χρησιμοποιείται επίσης σε μια σταθερή έκφραση.

Σχετικά με αυτό, πότε πρέπει να χρησιμοποιήσω το Constexpr;

constexpr υποδεικνύει ότι η τιμή ή η επιστρεφόμενη τιμή είναι σταθερή και, όπου είναι δυνατόν, υπολογίζεται κατά το χρόνο μεταγλώττισης. ΕΝΑ constexpr Η ακέραια τιμή μπορεί να χρησιμοποιηθεί όπου απαιτείται ακέραιος αριθμός const, όπως σε ορίσματα προτύπου και δηλώσεις πίνακα.

Είναι ενσωματωμένες οι συναρτήσεις Constexpr;

Μπορείτε να εκτελέσετε με συναρτήσεις constexpr πολλοί υπολογισμοί κατά το χρόνο μεταγλώττισης. Επομένως, το αποτέλεσμα του υπολογισμού είναι κατά το χρόνο εκτέλεσης ως σταθερά στη διαθέσιμη ROM. Επιπλέον, συναρτήσεις constexpr είναι σιωπηρά στη γραμμή . Η σύνταξη του συναρτήσεις constexpr βελτιώθηκε μαζικά με την αλλαγή από C++11 σε C++14.