Diferencia entre revisiones de «objeto.reserve()»

De ArduWiki
Saltar a: navegación, buscar
(Vea también)
Línea 1: Línea 1:
 
== Descripción ==
 
== Descripción ==
Este método permite asignar un búffer en la memoria para manipular cadenas.
+
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]].
;tamaño: número de bytes en la memoria para guardar para la manipulación de cadenas. Tipo [[unsigned int]]
+
;s: espacio en número de caracteres a asignar ([[unsigned int]]).
  
 
== Retorno ==
 
== Retorno ==
Línea 15: Línea 17:
  
 
== Advertencias ==
 
== Advertencias ==
Nada.
+
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 19:22 17 jul 2018

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
}

Vea también

Referencias