std::basic_string<CharT,Traits,Allocator>::size, std::basic_string<CharT,Traits,Allocator>::length
Von cppreference.com
< cpp | string | basic string
| 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()).
Inhalt |
[bearbeiten] Parameter
(keine)
[bearbeiten] Rückgabewert
Die Anzahl der CharT-Elemente in der Zeichenkette.
[bearbeiten] Komplexität
|
Nicht spezifiziert |
(bis C++11) |
|
Konstante |
(seit C++11) |
[bearbeiten] Hinweise
Für std::string sind die Elemente Bytes (Objekte vom Typ char), was keine Zeichen sind, wenn eine Mehrbyte-Kodierung wie UTF-8 verwendet wird.
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#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 }
[bearbeiten] Siehe auch
| prüft, ob der String leer ist (public member function) | |
| gibt die maximale Anzahl von Zeichen zurück (public member function) | |
| gibt die Anzahl der Zeichen zurück (public member function of std::basic_string_view<CharT,Traits>) |