Domande taggate «c++-standard-library»

Nel linguaggio di programmazione C ++, la libreria standard C ++ è una raccolta di classi e funzioni, che possono essere scritte o meno nel linguaggio di base e fanno parte di C ++







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 …


4
Le funzionalità sperimentali del C ++ moderno sono affidabili per progetti a lungo termine?
Ho un progetto che attualmente utilizza C ++ 11/14, ma richiede qualcosa di simile std::filesystem, che è disponibile solo in C ++ 17, e quindi non ho la possibilità di usarlo attualmente. Vedo, tuttavia, che è disponibile nel mio compilatore attuale come std::experimental::filesystem. È una buona idea utilizzare funzionalità sperimentali, …

2
Perché operator! = Rimosso in C ++ 20 per molti tipi di librerie standard?
Secondo cppreference , std::type_info::operator!=viene rimosso con C ++ 20, tuttavia, a std::type_info::operator==quanto pare rimane. Qual è il ragionamento dietro? Potrei essere d'accordo sul fatto che il confronto per l'ineguaglianza sia privo di significato, ma poi il confronto per l'uguaglianza sarebbe altrettanto insignificante, no? Allo stesso modo, operator!=di molti altri tipi …




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.