C++:
Znalezienie długości ciągu znaków
How to: (Jak to zrobić:)
W C++ długość łańcucha znaków możesz znaleźć używając funkcji length()
lub size()
na obiekcie std::string
, jak poniżej:
#include <iostream>
#include <string>
int main() {
std::string text = "Cześć, jak się masz?";
std::cout << "Długość tekstu: " << text.length() << std::endl;
// Lub używając size()
std::cout << "Długość tekstu (size): " << text.size() << std::endl;
return 0;
}
Sample output:
Długość tekstu: 22
Długość tekstu (size): 22
Deep Dive (Wgłębienie się)
Historia metody znalezienia długości łańcucha znaków sięga wczesnych języków programowania, gdzie operacje na tekstach były podstawowe. W C tradycyjne łańcuchy C-style kończą się znakiem '\0'
, więc długość można było znaleźć iterując przez łańcuch aż do napotkania tego znaku. W C++ obiekt std::string
już zawiera informacje o długości, co upraszcza sprawę.
Jako alternatywę w C++17 wprowadzono std::string_view
, które umożliwia operacje na tekstach bez kopiiowania danych, co może być wydajniejsze. Obiekt std::string_view
również posiada metody length()
i size()
.
W żadnym z przypadków wywołania size()
czy length()
nie są operacjami o złożoności większej niż O(1), ponieważ długość jest trzymana wewnątrz obiektu std::string
jako wartość.
See Also (Zobacz także)
- http://www.cplusplus.com/reference/string/string/length/ - Dokumentacja
std::string::length()
. - http://www.cplusplus.com/reference/string/string/size/ - Dokumentacja
std::string::size()
. - https://en.cppreference.com/w/cpp/string/basic_string_view - Dokumentacja
std::string_view
.