Calculando la longitud de una cadena

C++:
Calculando la longitud de una cadena

Cómo hacerlo:

C++ moderno nos ofrece opciones sencillas:

#include <iostream>
#include <string>

int main() {
    std::string texto = "Hola Mundo";
    std::cout << "La longitud de la cadena es: " << texto.length() << std::endl;
    // También puedes usar texto.size()
    std::cout << "La longitud usando size() es: " << texto.size() << std::endl;
    return 0;
}

/* Salida:
La longitud de la cadena es: 10
La longitud usando size() es: 10
*/

Profundizando

Históricamente, las cadenas en C se manejaban como arrays de char terminados en NULL, y la función strlen() de la biblioteca estándar de C se necesitaba para encontrar su longitud. En C++, std::string maneja el tamaño internamente, haciendo que length() y size() sean opciones directas y seguras; ambas devuelven un size_t, una representación sin signo del tamaño.

Existen alternativas como usar la función std::distance(begin(cadena), end(cadena)) para containers genéricos, pero para std::string las funciones miembro son más convenientes.

La implementación interna de length o size en std::string suele ser de complejidad constante O(1), ya que no recorrer la cadena, sino que retorna una variable interna que lleva la cuenta de la longitud.

Ver También