Rust: Documentación: Diferencia poco clara entre "segmentos de cadena" y "literales de cadena" para los recién llegados

Creado en 14 nov. 2015  ·  3Comentarios  ·  Fuente: rust-lang/rust

Del capítulo "Cuerdas":

Rust tiene dos tipos principales de cadenas: &str y String . Hablemos primero de &str . Estos se denominan "cortes de cuerda". Los literales de cadena son del tipo &'static str ...

El problema es que un principiante que lee estas líneas puede llegar a una conclusión falsa de que "segmento de cadena" y "literal de cadena" significan lo mismo, y los segmentos de cadena siempre tienen una vida estática.

Comentario del recién llegado:

De hecho, se menciona el hecho de que las porciones pueden tener diferentes vidas en el libro. Pero desde el punto de vista de un principiante, no hay diferencia entre "corte de cadena" y "literal de cadena", porque estos términos se utilizan en el libro como si fueran sinónimos . Cuando leí estas líneas, siempre pensé que estos términos significan lo mismo.

Comentario más útil

@gandro , sí, pero parece que no es obvio para los recién llegados. Creo que deberíamos dejar más claras estas líneas en el libro.

Todos 3 comentarios

Para ser claros: un literal de cadena es solo un segmento de cadena que vive para siempre (porque es un puntero a la rodata del binario o lo que sea).

@gandro , sí, pero parece que no es obvio para los recién llegados. Creo que deberíamos dejar más claras estas líneas en el libro.

Sí, ¡siempre es una gran cosa que hacer! Solo aclaro para quien quiera arreglar esto.

¿Fue útil esta página
0 / 5 - 0 calificaciones