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): 22Deep 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.