Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Тип Даних Void | Інші Типи Даних та Концепції
Practice
Projects
Quizzes & Challenges
Вікторини
Challenges
/
Типи Даних у C++

bookТип Даних Void

Свайпніть щоб показати меню

Завжди необхідно вказувати тип, оскільки це мовa зі статичною типізацією. Компілятору потрібно знати точний тип кожної змінної, щоб виділити правильний обсяг пам'яті та забезпечити типобезпечність. Також необхідно знати типи значень, що повертаються функціями, і параметрів.

Note
Примітка

Мова зі статичною типізацією — це мова, у якій тип даних змінної явно оголошується та контролюється компілятором.

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 ___; }

У цьому випадку не потрібно вказувати конкретний тип повернення — це може бути int, double, float або bool. Для цієї ситуації точний тип не має значення. Насправді, що робити, якщо взагалі не потрібно нічого повертати?

Void як тип повернення функції

Часто зустрічаються функції, яким не потрібно нічого повертати, наприклад:

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(); }

У цьому випадку можна використовувати тип даних void. Тип даних void у програмуванні позначає відсутність будь-якого значення або типу. Його можна застосовувати по-різному, але для функцій зазвичай використовується для вказівки, що функція не повертає жодного значення.

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!"); }

Примітка

Ми використали ключове слово return, але фактично не передали жодного значення. Ключове слово return також можна опустити у функціях з типом void. Спробуйте видалити його у прикладі.

Void як вказівник

Вказівники типу void (void*) — це вказівники, які не мають конкретного пов’язаного з ними типу даних. Вони можуть вказувати на об’єкти будь-якого типу, але перед використанням їх потрібно привести до відповідного типу. Вони дуже корисні, але іноді важкі для розуміння.

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 }

У цьому прикладі ptr — це вказівник типу void, який вказує на ціле число (num). Далі ми приводимо ptr до вказівника типу int*, щоб отримати доступ до значення num та вивести його.

question mark

Що означає використання void як типу повернення функції у C++?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 3

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 4. Розділ 3
some-alt