2011-10-17 21 views
6

Encontré algunos artículos que se refieren a un blob de C++. ¿Qué es esto?¿Qué es un blob?

he visto algo de código que utiliza de esta manera:

char blob[100]; 

element = lst->putBlob(blob, strlen(blob)); 

El código no es realmente importante aquí, sólo quiero saber qué es un "blob" es.

+0

¿Qué es 'lst' en ese fragmento? – Griwes

+0

Parece ser una serie de caracteres. – OghmaOsiris

+0

@Griwes Mi comentario fue para LunixFrog, no es tu pregunta, lol. Hicimos nuestros comentarios al mismo tiempo. ;) – OghmaOsiris

Respuesta

12

"Blob" significa Binary large object.

+2

... lo que implica que en este contexto específico, el nombre 'blob' fue mal elegido, ya que aparentemente obedece a la semántica de cuerdas. – xtofl

+1

Genial, no sabía que la palabra significaba algo más que ... blob. – rubenvb

+0

¡Ah, eso es todo! Gracias Griwes :) – LunixFrog

9

Un "blob" es un acrónimo común para "Objeto binario grande", lo que significa que es un objeto que contiene una gran cantidad de datos binarios. Algunos idiomas tienen tipos de blob nativos, pero C++ no. No obstante, crear un blob es bastante simple: simplemente creas una matriz de bytes. En su ejemplo, esto se hace creando una matriz de char s. Sin embargo, esto podría ser confuso, ya que una matriz de caracteres tiene un significado especial en C++, también es una cadena. Aún así, si se utiliza como una burbuja, puede contener cualquier tipo de datos (en cuyo caso strlen no funcionará).

+0

Veo gracias – LunixFrog

+0

Sí, es muy raro ver 'strlen' aplicado a un blob. En general, hay una manera de determinar qué tan grande es, dependiendo de la fuente de datos y de si está leyendo o escribiendo. –