2008-12-04 10 views

Respuesta

18

BSTR es el tipo de datos de cadena utilizado con COM.

_bstr_t es una clase contenedora que funciona como un puntero inteligente, por lo que liberará la memoria asignada cuando la variable se destruya o salga del alcance. _bstr_t también tiene recuento de referencias, que aumenta cada vez que pasa la variable _bstr_t por valor (evitando la copia innecesaria) y disminuye cuando ya no se usa. Cuando se destruyen todas las referencias, se libera la memoria asignada para la cadena.

Una alternativa a BSTR es el CComBSTR. También gestiona la memoria para el BSTR, pero no cuenta de referencia.

13

BST R es un puntero sin formato, mientras que _bstr_t es una clase que encapsula ese puntero.

Es la misma diferencia que char * contra std :: string.

Cuestiones relacionadas