Pytania otagowane jako libc++

6
std :: unique_ptr z niekompletnym typem nie zostanie skompilowany
Używam idiomu pimpl z std::unique_ptr: class window { window(const rectangle& rect); private: class window_impl; // defined elsewhere std::unique_ptr<window_impl> impl_; // won't compile }; Jednak pojawia się błąd kompilacji dotyczący użycia niekompletnego typu w wierszu 304 w <memory>: Nieprawidłowe zastosowanie „ sizeof” do niekompletnego typu uixx::window::window_impl” O ile mi wiadomo, std::unique_ptrpowinno …

2
Jaka jest mechanika optymalizacji krótkich ciągów znaków w libc ++?
Ta odpowiedź daje ładny, ogólny przegląd optymalizacji krótkich ciągów (SSO). Chciałbym jednak dowiedzieć się bardziej szczegółowo, jak to działa w praktyce, szczególnie w implementacji libc ++: Jak krótki musi być ciąg znaków, aby kwalifikować się do logowania jednokrotnego? Czy to zależy od docelowej architektury? W jaki sposób implementacja rozróżnia krótkie …

1
Dlaczego wektor libc ++ <bool> :: const_reference nie jest bool?
Sekcja 23.3.7 Klasa vector&lt;bool&gt;[vector.bool], akapit 1 stwierdza: template &lt;class Allocator&gt; class vector&lt;bool, Allocator&gt; { public: // types: typedef bool const_reference; ... Jednak ten program nie kompiluje się podczas korzystania z libc ++: #include &lt;vector&gt; #include &lt;type_traits&gt; int main() { static_assert(std::is_same&lt;std::vector&lt;bool&gt;::const_reference, bool&gt;{}, "?"); } Ponadto zauważam, że standard C ++ był …


2
Czy pamięć std :: chrono :: years naprawdę ma co najmniej 17 bitów?
Z preferencji std::chrono::years (since C++20) duration&lt;/*signed integer type of at least 17 bits*/, std::ratio&lt;31556952&gt;&gt; Używając libc++, wydaje się, że podkreśleniem std::chrono::yearsjest shortto, że podpisano 16 bitów . std::chrono::years( 30797 ) // yields 32767/01/01 std::chrono::years( 30797 ) + 365d // yields -32768/01/01 apparently UB Czy istnieje literówka na preferencjach lub coś …
14 c++  chrono  c++20  libc++ 
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.