n4487 ve diğer C++ 17 referanslarına göre, "işlev çağrısı operatörünün constexpr
işlevi olduğunu açıkça belirten yeni bir lambda işlevi belirteci - constexpr
olacaktır.". Lambdalarda sürekli ifadeler hakkındaki motivasyonu anlıyorum. constexpr
belirteci lambda-Bildiricisi içinde atlanırsa o gereksinimlerini karşılamak olsaydıConstexpr lambda varsayılan olarak mı?
4), işlev çağrısı operatörü (ya da şablon)
constexpr
geçerli: Benim için ilginç olan devletler teklifin noktası 4'türconstexpr
işlevi.
Bu iki soruya götürüyor:
- Neden
constexpr
belirtici gerekiyor? Görünüşe göre, lambda arama operatörüconstexpr
olsun ya da olmasın, sadece "constexpr
işlevinin gereksinimlerini karşılar", ancakconstexpr
belirteci varlığından değil. - Varsayılan olarak
constexpr
lambda olması kabul edilebilirse, neden diğer işlev türleri için de önerilmiyor? Örneğin, global işlevler? Derleyici,constexpr
gereksinimlerini karşılayan tüm işlevleri ele almaya başlarsa, bu etki ne olur?