El operador sizeof
es independiente porque
satisface una necesidad inusual. sizeof
proporciona
información acerca de la cantidad de memoria ocupada por los
elementos de datos. Como se ha indicado antes en este capítulo,
sizeof
indica el número de bytes utilizado por
cualquier variable particular. También puede dar el tamaño de un
tipo de datos (sin necesidad de un nombre de variable):
//: C03:sizeof.cpp #include <iostream> using namespace std; int main() { cout << "sizeof(double) = " << sizeof(double); cout << ", sizeof(char) = " << sizeof(char); } ///:~
Listado 3.42. C03/sizeof.cpp
Por definición, el sizeof
de cualquier tipo de
char
(signed
, unsigned
o
simple) es siempre uno, sin tener en cuenta que el
almacenamiento subyacente para un char
es realmente
un byte. Para todos los demás tipos, el resultado es el tamaño
en bytes.
Tenga en cuenta que sizeof
es un operador, no una
función. Si lo aplica a un tipo, se debe utilizar con la
forma entre paréntesis mostrada anteriormente, pero si se aplica
a una variable se puede utilizar sin paréntesis:
//: C03:sizeofOperator.cpp int main() { int x; int i = sizeof x; } ///:~
Listado 3.43. C03/sizeofOperator.cpp
sizeof
también puede informar de los tamaños de
tipos definidos por el usuario. Se utilizará más adelante en el
libro.