«std» etiketlenmiş sorular

C ++ Standart Kitaplığı ve ad alanı. [C ++] ile birlikte kullanın.

2
Std :: is_function nasıl uygulanır?
Aşağıdaki uygulama nasıl yapılır std::is_function? template<class T> struct is_function : std::integral_constant< bool, !std::is_const<const T>::value && !std::is_reference<T>::value > {}; ( CPP Referansından ) Bana öyle geliyor ki, intbu tanımın altında bir işlev olurdu. Neyi kaçırıyorum?
82 c++  templates  std  sfinae 

2
Neden std :: hash 'in deterministik olduğu garanti edilmiyor?
Bundan böyle N4140 (C ++ 14 Standard) kullanacağız . Göre 17.6.3.4 Hash gereksinimlerini § , Döndürülen değer yalnızca tartışmaya bağlı olacaktır k programın süresine ilişkin . [Not: Böylece h(k)aynı değer için ifadenin tüm değerlendirmeleri kaynı sonucu verir , programın belirli bir yürütülmesi için verir . - son not] ve § …

2
Std :: pair içindeki başlatıcı listesi
Bu kod: #include <iostream> #include <string> std::pair<std::initializer_list<std::string>, int> groups{ { "A", "B" }, 0 }; int main() { for (const auto& i : groups.first) { std::cout << i << '\n'; } return 0; } derler ancak segfault döndürür. Neden? Gcc 8.3.0 ve çevrimiçi derleyiciler üzerinde test edilmiştir.
26 c++  std  std-pair 

1
Std :: swap neden Clang / Win altındaki vektör <bool> öğeleri üzerinde çalışmıyor?
Ben böyle bir kod var: #include &lt;vector&gt; #include &lt;utility&gt; int main() { std::vector&lt;bool&gt; vb{true, false}; std::swap(vb[0], vb[1]); } Bir vector&lt;bool&gt;yana akıl sağlığı ile ilgili tartışmalar, bu iyi çalışıyor: Mac için Clang Windows için Visual Studio Linux için GCC Sonra Windows üzerinde Clang ile inşa etmeyi denedim ve aşağıdaki hatayı aldım …


1
Neden std :: span karşılaştırma işleçlerinden yoksundur?
Değil miydi std::spanalt bölgelere hafif referans olarak tasarlanmış std::vector/ std::array/ düz diziye ve benzeri? Ayrıca, API'larında tutarlı olmaları için karşılaştırma operatörleri içermemeli midir? Dışlamanın ardındaki neden neydi? Not: Karşılaştırma operatörleri tarafından, ben de tamamı anlamında ( &lt;, &lt;=, ...) ya da uzay gemisi&lt;=&gt;
10 c++  std  c++20  std-span 

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.