Sintaxis del operador sizeOf () en c++
Lo siguiente describe la sintaxis del operador sizeOf ():
# sizeof (nombre de data_type);Cuando se usa con el primer tipo de objeto, la función sizeof () genera el tamaño del objeto en bytes para el tipo de objeto que se está enviando. El tamaño del elemento que se encuentra en el tipo de expresión, medido en bytes, es el segundo tipo. Después de evaluar la expresión, el tamaño sigue siendo el mismo.
Ejemplo 1:
Cuando los tipos de datos como int, float, char, etc. se usan con el operador sizeof (), la función simplemente proporciona la cantidad de RAM que se asigna a ese tipo de datos particular.
#incluirAl utilizar el operador sizeof () con el comando cout, evaluamos el tamaño de los tipos de datos incorporados en la aplicación mencionada anteriormente. Como podemos ver en la siguiente salida, la operación sizeOf () produce la misma respuesta que esperaríamos dada nuestro conocimiento de los tamaños de bytes de int, float, doble y char.
Ejemplo 2:
El programa, cuando un tipo de clase es operando, usa el operador sizeOf (). Aquí hay una ilustración:
#incluirCon solo una variable entera "x" en la clase "mybase_class" y el método principal de script mencionado anteriormente, evaluamos el tamaño de la clase. Primero, llamamos a la clase dada y creamos su objeto como "y". Luego, tenemos un operador sizeOf () que toma "y" como entrada. Las variables enteras ocupan 4 bytes, por lo que el resultado sería 4 bytes como se imprime en lo siguiente:
Ejemplo 3:
Si aumentamos el número de variables enteras en una clase, se produce el siguiente código:
#incluirAhora hay una segunda variable entera "j" en el código anterior. Dado que la variable int toma 4 bytes y hay dos variables enteras como "i" y "j", la clase "myclass_base" en este escenario es de 8 bytes de tamaño.
Ejemplo 4:
El código puede parecerse a lo siguiente si incluimos una variable Char:
#incluirSe utilizan dos variables enteros y una char en el código anterior de la clase "myclass". El tamaño de la clase debe ser de 9 bytes, ya que hay tres tipos de datos (int+int+char) de acuerdo con nuestros cálculos. Pero esto es incorrecto debido a la idea de la estructura del relleno. Puede ver el siguiente valor de resultado:
Ejemplo 5:
El caso donde el operando es una matriz. Echemos un vistazo a la implementación del programa:
#incluirEstablecimos una matriz de tipo entero como "arr_set" con cinco elementos en el programa anterior. Determinamos el tamaño de la matriz usando el operador sizeof (). La matriz tiene un tamaño de 20 bytes, ya que el tipo de datos int toma 4 bytes y hay 5 entradas en la matriz, lo que hace una necesidad total de espacio de memoria de 5 * 4 = 20 bytes. Como podemos ver en la siguiente salida, la operación sizeof () produjo el mismo resultado.
Ejemplo 6:
El ejemplo ya toma el tamaño de la matriz. Consideremos una matriz desde una perspectiva particular.
#incluirIntentamos utilizar la función "new_function" en la aplicación mencionada anteriormente para imprimir el tamaño de la matriz. Formamos una matriz de tipo entero en este caso, y enviamos el parámetro "matriz" al nuevo_function (). El tamaño del puntero entero o int* es devuelto por el nuevo_function (). En los sistemas operativos de 64 bits, el tamaño del int* es 8 bytes. La salida genera el tamaño de la matriz de la siguiente manera:
Ejemplo 7:
Ahora, este es el ejemplo donde el argumento es del tipo de puntero dentro del operador sizeOf ().
#incluirCalculamos el tamaño de los punteros en el guión mencionado en el anteriormente. Para los tipos de datos "int", "double" y "char", los tamaños de puntero permanecen constantes. El tamaño del puntero es de 4 bytes si la computadora tenía un sistema operativo de 32 bits. El tamaño del puntero es de 8 bytes si la computadora ejecuta un sistema operativo de 64 bits. El resultado es 8 bytes a medida que ejecutamos este script en una plataforma de 64 bits. Ahora, si le damos al puntero el símbolo "*," la salida cambia dependiendo del tipo de datos. Por ejemplo, si *ptr1 es un tipo entero, el operador sizeof () da 4 bytes porque un tipo de datos int toma 4 bytes. El siguiente es el tamaño resultante de punteros correspondientes a cada tipo de datos especificados:
Ejemplo 8:
El ejemplo en el que tenemos una expresión como un operador sizeOf () operador.
#incluirTenemos dos variables, Integer_1 e Integer_2, de los tipos int y dobles, respectivamente. Se declaran en el programa. Como sabemos, los enteros tienen 4 bytes de tamaño, mientras que los dobles son 8 bytes. Los agregamos ambos en el operador sizeOf (). La variable, doble con un tamaño de 8 bytes, es el resultado.
Conclusión
Una explicación sizeof () para C ++ termina aquí. Hemos repasado los detalles sobre cómo funciona el operador C ++ sizeOf (), junto con ejemplos relevantes. Cualquier tipo de datos, expresión, matriz, etc. puede determinar su tamaño utilizando el operador sizeof (). El tipo de datos o una expresión debe proporcionarse como parte del argumento. Y la función devuelve el tamaño de ese tipo de datos en bytes como resultado.