Als «c++-standard-library» getaggte Fragen

In der Programmiersprache C ++ ist die C ++ - Standardbibliothek eine Sammlung von Klassen und Funktionen, die möglicherweise in der Kernsprache geschrieben sind oder nicht und Teil von C ++ sind

25
Wie konvertiere ich std :: string in Kleinbuchstaben?
Ich möchte a std::stringin Kleinbuchstaben umwandeln . Ich bin mir der Funktion bewusst tolower(), aber in der Vergangenheit hatte ich Probleme mit dieser Funktion und sie ist sowieso kaum ideal, da die Verwendung mit a std::stringdas Durchlaufen jedes Zeichens erfordern würde. Gibt es eine Alternative, die 100% der Zeit funktioniert?



9
C ++ Valarray vs. Vektor
Ich mag Vektoren sehr. Sie sind geschickt und schnell. Aber ich weiß, dass dieses Ding namens Valarray existiert. Warum sollte ich einen Valarray anstelle eines Vektors verwenden? Ich weiß, Valarrays haben syntaktischen Zucker, aber abgesehen davon, wann sind sie nützlich?





1
Warum ist der Vektor <bool> :: const_reference von libc ++ nicht bool?
In Abschnitt 23.3.7 Klasse vector&lt;bool&gt;[vector.bool], Absatz 1 heißt es: template &lt;class Allocator&gt; class vector&lt;bool, Allocator&gt; { public: // types: typedef bool const_reference; ... Dieses Programm kann jedoch bei Verwendung von libc ++ nicht kompiliert werden: #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;{}, "?"); } Außerdem stelle ich fest, …




10
std :: queue iteration
Ich muss noch einmal iterieren std::queue. www.cplusplus.com sagt: Wenn für eine bestimmte Warteschlangenklasse keine Containerklasse angegeben ist, wird standardmäßig die Standard-Deque der Containerklassenvorlage verwendet. Kann ich also irgendwie zur zugrunde liegenden Deque der Warteschlange gelangen und darüber iterieren?


2
Warum wird operator! = In C ++ 20 für viele Standardbibliothekstypen entfernt?
Nach cppreference , std::type_info::operator!=wird mit C ++ entfernt 20 jedoch std::type_info::operator==bleibt offenbar. Was ist der Grund dafür? Ich könnte zustimmen, dass ein Vergleich auf Ungleichheit bedeutungslos ist, aber ein Vergleich auf Gleichheit wäre genauso bedeutungslos, nicht wahr? In ähnlicher Weise werden operator!=von vielen anderen Standardbibliothekstypen, einschließlich Containern wie std::unordered_map::operator!=und std::unordered_set::operator!=in …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.