Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Tipo de Dado Void | Outros Tipos de Dados e Conceitos
Practice
Projects
Quizzes & Challenges
Questionários
Challenges
/
Tipos de Dados em C++

bookTipo de Dado Void

Deslize para mostrar o menu

Você sempre deve especificar o tipo porque é uma linguagem de tipagem estática. O compilador precisa saber o tipo exato de cada variável para alocar a quantidade correta de memória e garantir a segurança de tipos. Também é necessário conhecer os tipos dos valores de retorno e dos parâmetros das funções.

Note
Nota

Uma linguagem de tipagem estática é aquela em que o tipo de dado de uma variável é explicitamente declarado e garantido pelo 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 ___; }

Neste caso, não é necessário um tipo de retorno específico; pode ser int, double, float ou bool. Para este cenário, o tipo exato não importa. Na verdade, e se não precisarmos retornar nada?

Void como Tipo de Retorno de Função

Frequentemente, existem funções que parecem não precisar retornar nada, 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(); }

Neste caso, podemos utilizar o tipo de dado void. O tipo de dado void em programação indica a ausência de qualquer valor ou tipo. Ele pode ser utilizado de diversas formas, mas em funções é geralmente usado para indicar que uma função não retorna nenhum 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

Utilizamos a palavra-chave return, mas não passamos nenhum valor. A palavra-chave return também pode ser omitida em funções void. Experimente removê-la no exemplo.

Void como um Ponteiro

Ponteiros void (void*) são ponteiros que não possuem um tipo de dado específico associado a eles. Eles podem apontar para qualquer tipo de objeto, mas é necessário convertê-los para o tipo apropriado antes de utilizá-los. São bastante úteis, mas às vezes difíceis de compreender.

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 }

Neste exemplo, ptr é um ponteiro void que aponta para um inteiro (num). Em seguida, convertemos ptr para um ponteiro int* para acessar e exibir o valor de num.

question mark

O que significa usar void como tipo de retorno de função em C++?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 3

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 4. Capítulo 3
some-alt