«auto» etiketlenmiş sorular

`Auto` anahtar sözcüğü, çıkarılmış bir tür için C ++ 11'de yeniden tasarlanmıştır. Başlatılmış bir değişken bildiriminde bir tür adını değiştirmek için kullanıldığında, değişkene başlatıcıyla aynı tür verilir. Bir dönüş türü olarak kullanıldığında, dönüş türü sondaki dönüş türü olarak belirtilir veya dönüş ifadesinden çıkarılır.

1
Bir işlev parametresi için şablon bağımsız değişken yer tutucu olarak 'otomatik'
C ++ 20 autoişlev parametre türü için kullanılmasına izin verir . Aynı zamanda kullanılmasına izin mu autobir şablon bağımsız değişken tutucu olarak (benzer, ama ruhunda C ++ 17 şablon <oto> bir şekilde) işlev parametre tipleri için? Yani aşağıdaki kod, C ++ 20 öncesi: template<typename First, typename Second> void printPair(const std::pair<First, …
22 c++  templates  auto  c++20 

6
C ++ 'da aşırı yüklenmiş yapıcılar aracılığıyla bilinmeyen bir değişkenin başlatılması
öncelikle Python arka plan geliyor C ++ türleri ile çalışma ile biraz mücadele var. Bir parametre değişkenini farklı türlerde parametre olarak alan birkaç aşırı yüklenmiş kuruculardan biri aracılığıyla başlatmaya çalışıyorum. autoAnahtar kelimeyi kullanmanın bir değişkenin otomatik bildirimi için kullanılabileceğini okudum , ancak benim durumumda bir kurucu seçilene kadar başlatılmayacak. Ancak …

1
std :: çift <otomatik, otomatik> dönüş türü
Ben oynamalar autoiçinde std::pair. Aşağıdaki kodda, fonksiyonun bir template parametresine bağlı olan bir tür fdöndürmesi beklenir std::pair. Çalışan bir örnek: ÖRNEK 1 template &lt;unsigned S&gt; auto f() { if constexpr (S == 1) return std::pair{1, 2}; // pair of ints else if constexpr (S == 2) return std::pair{1.0, 2.0}; // …

2
Farklı c ++ derleyicileri arasında otomatik türlerin yanlış eşleştirilmesi
Bu yüzden, nokta ürününü ( https://en.wikipedia.org/wiki/Dot_product ) modern C ++ 'ın bazı lezzetlerinde uygulamaya çalışıyorum ve aşağıdaki kod ile geldim: #include &lt;iostream&gt; template&lt;class... Args&gt; auto dot(Args... args) { auto a = [args...](Args...) { return [=](auto... brgs) { static_assert(sizeof...(args) == sizeof...(brgs)); auto v1 = {args...}, i1 = v1.begin(); auto v2 = …
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.