C++:
Trovare la lunghezza di una stringa
How to:
#include <iostream>
#include <string>
int main() {
std::string saluto = "Ciao, mondo!";
// Uso la funzione 'length' per ottenere la lunghezza della stringa
std::cout << "Lunghezza della stringa: " << saluto.length() << std::endl;
return 0;
}
Output:
Lunghezza della stringa: 13
Deep Dive
Inizialmente, in C, la lunghezza di una stringa veniva trovata con strlen
, che conta i caratteri fino al terminatore NULL ('\0'
). In C++, con la std::string
class, length()
e size()
fanno la stessa cosa e sono più sicuri perché gestiscono la memoria automaticamente.
Le alternative includono:
- Cicli manuali: contare carattere per carattere fino a
'\0'
. - Funzioni della libreria C come
strlen
(meno sicure). - Operazioni su range in C++11 o superiore (
std::begin
,std::end
).
Dettagli sull’implementazione:
std::string::size()
è garantito essere di complessità O(1) – veloce.- Le stringhe in C++ sono oggetti, non solo array, perciò offrono sicurezza e flessibilità aggiuntive.
See Also
- Standard Template Library (STL): http://www.cplusplus.com/reference/string/string/
- C++ Reference for
std::string::length
: https://en.cppreference.com/w/cpp/string/basic_string/length - C++ Reference for
begin
andend
: https://en.cppreference.com/w/cpp/iterator/begin - Learn more about the
strlen
function: http://www.cplusplus.com/reference/cstring/strlen/