Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Tipo de Dato Void | Otros Tipos de Datos y Conceptos
Tipos de Datos en C++

bookTipo de Dato Void

Desliza para mostrar el menú

Siempre es necesario especificar el tipo porque es un lenguaje de tipado estático. El compilador necesita conocer el tipo exacto de cada variable para asignar la cantidad correcta de memoria y garantizar la seguridad de tipos. También necesita conocer los tipos de los valores de retorno y los parámetros de las funciones.

Note
Nota

Un lenguaje de tipado estático es aquel donde el tipo de dato de una variable se declara explícitamente y es verificado por el compilador.

main.cpp

main.cpp

copy
12345678910
#include <iostream> // Let's consider a simple example. // Imagine you need to create a function that logs something in console. // What type should it return? ___ log(std::string message) { std::cout << message; return ___; }

En este caso, no se requiere un tipo de retorno específico; podría ser int, double, float o bool. Para este escenario, el tipo exacto no importa. De hecho, ¿qué sucede si no necesitamos retornar nada en absoluto?

Void como tipo de retorno de función

A menudo existen funciones que parecen no necesitar retornar ningún valor, como:

main.cpp

main.cpp

copy
12345678
// Outputting information in console ___ log(std::string message) { std::cout << message; } // Updating values of variables ___ update(int& variable, int new_value) { variable = new_value; } // Calling another function ___ closeFile(std::fstream& file) { file.close(); }

En este caso se puede utilizar el tipo de dato void. El tipo de dato void en programación indica la ausencia de cualquier valor o tipo. Puede emplearse de diversas maneras, pero en el caso de las funciones, generalmente se usa para señalar que una función no retorna ningún valor.

main.cpp

main.cpp

copy
123456789101112
#include <iostream> void log(std::string message) { std::cout << message; return; } int main() { log("This is a void function!"); }

Nota

Se utilizó la palabra clave return pero no se pasó ningún valor. La palabra clave return también puede omitirse en funciones void. Intenta eliminarla en el ejemplo.

Void como puntero

Los punteros void (void*) son punteros que no tienen un tipo de dato específico asociado. Pueden apuntar a cualquier tipo de objeto, pero es necesario convertirlos al tipo adecuado antes de utilizarlos. Son muy útiles, aunque a veces difíciles de comprender.

main.cpp

main.cpp

copy
1234567891011121314
#include <iostream> int main() { int num = 10; // Here we are creating a void pointer // Now it can point to any variable of any data type // You can try changing the type of `num` from `int` to `float` void* ptr = &num; // To use this pointer, we need to cast it to the appropriate type // VVV int* intPtr = static_cast<int*>(ptr); std::cout << *intPtr << std::endl; // Output: 10 }

En este ejemplo, ptr es un puntero void que apunta a un entero (num). Luego convertimos ptr a un puntero int* para acceder y mostrar el valor de num.

question mark

¿Qué significa usar void como tipo de retorno de una función en C++?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 3

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 4. Capítulo 3
some-alt