Diferencia entre revisiones de «objeto.reserve()»
De ArduWiki
(→Vea también) |
|||
Línea 1: | Línea 1: | ||
== Descripción == | == Descripción == | ||
− | + | Crea (o modifica) la reservación de espacio (en [[SRAM]]) para contener los caracteres de este objeto. | |
+ | |||
+ | En caso de ser para una variable global o [[static]], es buena práctica pre-asignar el espacio que se considere requerido; para así disminuir las posibilidades de fragmentar la memoria y mejorar el rendimiento al operar con este objeto. | ||
== Sintaxis == | == Sintaxis == | ||
<pre> | <pre> | ||
− | objeto.reserve(); | + | objeto.reserve(s); |
</pre> | </pre> | ||
== Parámetros == | == Parámetros == | ||
;objeto: nombre de la instancia de la clase [[String]]. | ;objeto: nombre de la instancia de la clase [[String]]. | ||
− | ; | + | ;s: espacio en número de caracteres a asignar ([[unsigned int]]). |
== Retorno == | == Retorno == | ||
Línea 15: | Línea 17: | ||
== Advertencias == | == Advertencias == | ||
− | + | No se debe confundir el tamaño del "contenedor" con la cantidad de caracteres que componen la cadena. Por lo tanto, '''reserve()''' no debería alterar inmediatamente el valor de [[objeto.length()]] a menos que el tamaño a reservar sea menor. | |
== Ejemplos == | == Ejemplos == |
Revisión del 23:22 17 jul 2018
Contenido
Descripción
Crea (o modifica) la reservación de espacio (en SRAM) para contener los caracteres de este objeto.
En caso de ser para una variable global o static, es buena práctica pre-asignar el espacio que se considere requerido; para así disminuir las posibilidades de fragmentar la memoria y mejorar el rendimiento al operar con este objeto.
Sintaxis
objeto.reserve(s);
Parámetros
- objeto
- nombre de la instancia de la clase String.
- s
- espacio en número de caracteres a asignar (unsigned int).
Retorno
Nada.
Advertencias
No se debe confundir el tamaño del "contenedor" con la cantidad de caracteres que componen la cadena. Por lo tanto, reserve() no debería alterar inmediatamente el valor de objeto.length() a menos que el tamaño a reservar sea menor.
Ejemplos
String cadena;
void setup() {
Serial.begin(9600);
cadena.reserve(26);
cadena = "i=";
cadena += "123";
cadena += ", esto es ok ?";
Serial.println(cadena);
}
void loop() {
//Nada
}