Domande taggate «libc++»

6
std :: unique_ptr con un tipo incompleto non verrà compilato
Sto usando l'idioma pimpl con std::unique_ptr: class window { window(const rectangle& rect); private: class window_impl; // defined elsewhere std::unique_ptr<window_impl> impl_; // won't compile }; Tuttavia, viene visualizzato un errore di compilazione relativo all'uso di un tipo incompleto, nella riga 304 in <memory>: Applicazione non valida di " sizeof" a un …

2
Quali sono i meccanismi dell'ottimizzazione delle stringhe brevi in ​​libc ++?
Questa risposta offre una bella panoramica di alto livello sull'ottimizzazione delle stringhe brevi (SSO). Tuttavia, vorrei sapere più in dettaglio come funziona in pratica, in particolare nell'implementazione di libc ++: Quanto deve essere breve la stringa per qualificarsi per SSO? Dipende dall'architettura di destinazione? In che modo l'implementazione distingue tra …

1
Perché il vettore di libc ++ <bool> :: const_reference non è bool?
La sezione 23.3.7 Classe vector&lt;bool&gt;[vector.bool], paragrafo 1 afferma: template &lt;class Allocator&gt; class vector&lt;bool, Allocator&gt; { public: // types: typedef bool const_reference; ... Tuttavia questo programma non riesce a compilare quando si utilizza 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;{}, "?"); } Inoltre noto che lo standard …

2
Dovrei usare libc ++ o libstdc ++? [chiuso]
Chiuso . Questa domanda è basata sull'opinione . Attualmente non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che possa essere risolta con fatti e citazioni modificando questo post . Chiuso 4 anni fa . Migliora questa domanda Sto sviluppando eseguibili dell'interfaccia della riga di comando per …

2
Std :: chrono :: years storage è davvero almeno 17 bit?
Da cppreference std::chrono::years (since C++20) duration&lt;/*signed integer type of at least 17 bits*/, std::ratio&lt;31556952&gt;&gt; Usando libc++, sembra che la memoria di sottolineatura di std::chrono::yearsis shortsia firmata a 16 bit . std::chrono::years( 30797 ) // yields 32767/01/01 std::chrono::years( 30797 ) + 365d // yields -32768/01/01 apparently UB C'è un refuso su …
14 c++  chrono  c++20  libc++ 
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.