«c++-concepts» etiketlenmiş sorular

5
Neden talep gerektirir?
C ++ 20 kavramlarının köşelerinden biri, yazmanız gereken belirli durumlar olmasıdır requires requires. Örneğin, [expr.prim.req] / 3'teki bu örnek : Bir requir-ifadesi , below-template argümanlarına ad hoc kısıtlamaları yazmanın bir yolu olarak bir needs -cümlesi ([temp]) de kullanılabilir: template<typename T> requires requires (T x) { x + x; } T …
161 c++  c++-concepts  c++20 

3
Kavramlar ve şablon kısıtlamaları arasındaki farklar nelerdir?
C ++ tam kavram önerisi ile şablon kısıtlamaları arasındaki anlamsal farklılıkların neler olduğunu bilmek istiyorum (örneğin, Dlang'da görünen kısıtlamalar veya C ++ 1y için yeni kavramlar-lite önerisi ). Şablon kısıtlamalarının yapamadığından daha fazlasını yapabilen tam teşekküllü kavramlar nelerdir?
96 c++  c++11  d  c++-concepts 

3
C ++ 20 Kavramlar: Şablon bağımsız değişkeni birden çok kavram için uygun olduğunda hangi şablon uzmanlığı seçilir?
Verilen: #include <concepts> #include <iostream> template<class T> struct wrapper; template<std::signed_integral T> struct wrapper<T> { wrapper() = default; void print() { std::cout << "signed_integral" << std::endl; } }; template<std::integral T> struct wrapper<T> { wrapper() = default; void print() { std::cout << "integral" << std::endl; } }; int main() { wrapper<int> w; …

1
`Equality_comparable_with` için“ common_reference ”gerekir mi?
Kavramequality_­comparable_with<T, U> türü bu nesnelerin bildirmek için tasarlanmıştır Tve Ubirbirine eşit karşılaştırılabilir, ve eğer, bu beklenen anlama sahiptir. Bu iyi. Ancak, bu kavramın da var olması gerekir common_reference_t<T&, U&>. İçin birincil itici güç common_referenceve onun işlevselliği , proxy yineleyicilerinin etkinleştirilmesi , bu yineleyiciler arasındaki referenceve value_typebu yineleyiciler arasındaki ilişkiyi temsil …

1
Concept TS kontrolü özel erişim değiştiriciyi yok sayar
Bir dizini RandomAccessIterator döndüren başlangıç ​​/ bitiş ya da işleç [] tanımlanmış ve geçersiz türü olmayan bir değer döndürdüğü anlamına gelen dizinlenebilir bir kavram yazmak istiyorum. Sıra kavramı için Stroustrup'un makalesindeki fikirleri kullandım ve aşağıdakilerle arttırdım: template <class T> concept bool Indexable = Sequence<T> || requires(T t, size_t n) { …
10 c++  c++-concepts 

1
İhtiyaç ifadelerinin kapalı kapsamdaki değişkenleri “yakalamasına” izin veriliyor mu?
Aşağıdaki örnekte, işlev bağımsız değişkenleri, bunları kullanan bir ifadenin iyi biçimlendirilip biçimlendirilmediğini bir zorunlu ifadeyle test etmek için kullanılır. Zorunlu ifade hiçbir argüman almaz; doğrudan işlev kapsamındaki değişkenleri kullanır: #include <cstddef> #include <vector> template<typename T> void Resize(T &v, std::size_t const n) { if constexpr (requires { v.resize(n); }) v.resize(n); } …
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.