Тип void
Тип void в C++ - это специальный тип, который означает
"отсутствие значения". Его нельзя использовать для объявления
переменных, но можно применять в нескольких важных случаях:
для функций, которые не возвращают результат, для указателей
void*, которые могут хранить адрес объекта любого типа,
а также для явного указания того, что функция не принимает
параметров. Давайте рассмотрим особенности его работы на примерах.
Синтаксис
void functionName(parameters)
void* pointerName
functionName(void)
Пример
Давайте объявим функцию, которая ничего не возвращает и просто выводит сообщение на экран:
#include <iostream>
using namespace std;
void printMessage()
{
cout << "Hello, world!" << endl;
}
int main()
{
printMessage();
return 0;
}
Результат выполнения кода:
"Hello, world!"
Пример
Давайте используем указатель void* для хранения
адресов переменных разных типов:
#include <iostream>
using namespace std;
int main()
{
int num = 42;
char ch = 'a';
void* ptr = #
cout << *(static_cast<int*>(ptr)) << endl;
ptr = &ch;
cout << *(static_cast<char*>(ptr)) << endl;
return 0;
}
Результат выполнения кода:
42
"a"
Пример
Давайте передадим в параметр void* адрес строки
и выведем её содержимое:
#include <iostream>
#include <string>
using namespace std;
void printString(void* ptr)
{
string* str = static_cast<string*>(ptr);
cout << *str << endl;
}
int main()
{
string str = "abcde";
printString(&str);
return 0;
}
Результат выполнения кода:
"abcde"