•
Sizeof
O operador unário
sizeof retorna o tamanho de qualquer tipo de dado, mas sempre em bytes. Ele
é muito útil, mas observe que ele não é uma função,
e é usado durante a compilação, por isso não causa
impacto negativo no desempenho do programa.
Alem de sizeof, c++ oferece o tipo de dado size_t, que pode armazenar o tamanho
de um dado.
Com sizeof podemos
descobrir, por exemplo, a quantidade de vetores de uma array por exemplo.
Para que isso seje possível, precisamos saber o tamanho do array e dividi-lo
pelo tamanho de seu tipo.
Cofira o exemplo:
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
size_t
getsize( int * );
int main()
{
int numero, n2 = 10;
double
n3, n4 = 10.2;
float f;
char
string[] = "teste";
char string2[10];
int
array[20];
cout
<< "========== tamanho ==========" << endl;
cout << "numero " << sizeof(numero)
<< endl;
cout << "n2 " << sizeof(n2)
<< endl;
cout << "n3 " << sizeof(n3)
<< endl;
cout << "n4 " << sizeof(n4)
<< endl;
cout << "f " << sizeof(f)
<< endl;
cout << "string " << sizeof(string)
<< endl;
cout << "strign2 " << sizeof(string2)
<< endl;
cout << "array " << sizeof(array)
<< endl;
cout
<< "==== tamanho do array =====" << endl;
cout << ( sizeof(array)
/ sizeof( int ) ) << endl;
cout << ( sizeof(string2)
/ sizeof( char ) ) << endl;
cout
<< "=== tamanho por size_t ===" << endl;
cout << getsize( array
) << endl; // um dos dados do array int representa
4
cin;
return
0;
}
size_t
getsize( int *Pa )
{
return sizeof( Pa );
}
Perguntas??? Email
|