std::basic_string<CharT,Traits,Allocator>::size, std::basic_string<CharT,Traits,Allocator>::length
Von de.cppreference.net
size_type size() const;
|
(1) | (noexcept seit C++11) (constexpr seit C++20) |
size_type length() const;
|
(2) | (noexcept seit C++11) (constexpr seit C++20) |
Gibt die Anzahl der CharT Elemente in der Zeichenkette zurück, d. h. std::distance(begin(), end()).
Parameter
(keine)
Rückgabewert
Die Anzahl der
CharT
Elemente in der Zeichenkette.
Komplexität
|
Nicht spezifiziert |
(until C++11) |
|
Konstante |
(since C++11) |
Hinweise
Für std::string sind die Elemente Bytes (Objekte des Typs char ), die nicht mit Zeichen identisch sind, wenn eine Multibyte-Kodierung wie UTF-8 verwendet wird.
Beispiel
Diesen Code ausführen
#include <cassert> #include <iterator> #include <string> int main() { std::string s("Exemplar"); assert(8 == s.size()); assert(s.size() == s.length()); assert(s.size() == static_cast<std::string::size_type>( std::distance(s.begin(), s.end()))); std::u32string a(U"ハロー・ワールド"); // 8 Code Points assert(8 == a.size()); // 8 Code Units in UTF-32 std::u16string b(u"ハロー・ワールド"); // 8 Code Points assert(8 == b.size()); // 8 Code Units in UTF-16 std::string c("ハロー・ワールド"); // 8 Code Points assert(24 == c.size()); // 24 Code Units in UTF-8 #if __cpp_lib_char8_t >= 201907L std::u8string d(u8"ハロー・ワールド"); // 8 Code Points assert(24 == d.size()); // 24 Code Units in UTF-8 #endif }
Siehe auch
|
prüft, ob die Zeichenkette leer ist
(öffentliche Elementfunktion) |
|
|
gibt die maximale Anzahl von Zeichen zurück
(öffentliche Elementfunktion) |
|
|
gibt die Anzahl der Zeichen zurück
(öffentliche Elementfunktion von
std::basic_string_view<CharT,Traits>
)
|