რა არის Constexpr C++-ში?
რა არის Constexpr C++-ში?

ვიდეო: რა არის Constexpr C++-ში?

ვიდეო: რა არის Constexpr C++-ში?
ვიდეო: Pointers and constexpr in C++ 2024, მაისი
Anonim

constexpr განსაზღვრავს, რომ ობიექტის ან ფუნქციის მნიშვნელობა შეიძლება შეფასდეს კომპილაციის დროს და გამოსახულება შეიძლება გამოყენებულ იქნას სხვა მუდმივ გამოსახულებებში. მაგალითად, ქვემოთ მოცემულ კოდში product() ფასდება კომპილაციის დროს. C++ 11-ში ა constexpr ფუნქცია უნდა შეიცავდეს მხოლოდ ერთ დაბრუნების განცხადებას.

უფრო მეტიც, რისთვის გამოიყენება Constexpr?

The constexpr specifier აცხადებს, რომ შესაძლებელია ფუნქციის ან ცვლადის მნიშვნელობის შეფასება კომპილაციის დროს. ასეთი ცვლადები და ფუნქციები შეიძლება იყოს გამოყენებული სადაც მხოლოდ კომპილირებული დროის მუდმივი გამონათქვამებია დაშვებული. ა constexpr დამაზუსტებელი გამოიყენება ობიექტის დეკლარაცია გულისხმობს კონსტ.

არის შეფასებული Constexpr? 2 პასუხი. constexpr ფუნქციები იქნება შეაფასა კომპილაციის დროს, როდესაც მისი ყველა არგუმენტი მუდმივი გამოხატულებაა და შედეგი გამოიყენება მუდმივ გამოხატულებაშიც.

ამასთან დაკავშირებით, როდის უნდა გამოვიყენო Constexpr?

constexpr მიუთითებს, რომ მნიშვნელობა ან დაბრუნებული მნიშვნელობა მუდმივია და, სადაც შესაძლებელია, გამოითვლება კომპილაციის დროს. ა constexpr ინტეგრალური მნიშვნელობა შეიძლება გამოყენებულ იქნას იქ, სადაც საჭიროა const მთელი რიცხვი, მაგალითად, შაბლონის არგუმენტებში და მასივის დეკლარაციაში.

არის თუ არა Constexpr ფუნქციები ჩართული?

თქვენ შეგიძლიათ შეასრულოთ constexpr ფუნქციები ბევრი გამოთვლა შედგენის დროს. აქედან გამომდინარე, გაანგარიშების შედეგი არის გაშვების დროს, როგორც მუდმივი ROM-ში. გარდა ამისა, constexpr ფუნქციები არიან იმპლიციტური ხაზში . სინტაქსის constexpr ფუნქციები მასიურად გაუმჯობესდა C++11-დან C++14-ზე ცვლილებით.