Форум программистов, компьютерный форум CyberForum.ru

Что значит слово void - C++

Восстановить пароль Регистрация
 
ГразныйЛуи
0 / 0 / 0
Регистрация: 05.08.2014
Сообщений: 17
11.08.2014, 03:09     Что значит слово void #1
изучаю функции,и наткнулся на:

void DemonstrationFunction

не могу понять,почему void,а не int.подскажите пожалуста

Добавлено через 5 минут
это случайно не "включить эту функцию в"?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xWhoAmIx
14 / 0 / 0
Регистрация: 09.03.2014
Сообщений: 26
11.08.2014, 03:12     Что значит слово void #2
Слово используется в зависимости от контекста. Вы,в данном случае, мало что показали...как я понял: функция, которая возвращает "пустое" значение, например для вывода значений каких-либо переменных на экран и после своего выполнения она не должна передавать какое-либо полученное значение наружу. В данном случае скорее всего исходя из рациональных соображений.

https://ru.wikipedia.org/wiki/Void
http://msdn.microsoft.com/ru-ru/library/fxky5d0w.aspx
zss
Модератор
Эксперт С++
 Аватар для zss
5955 / 5560 / 1788
Регистрация: 18.12.2011
Сообщений: 14,209
Завершенные тесты: 1
11.08.2014, 06:39     Что значит слово void #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
void f1(int i)
{
    cout<<i;
    return;// функция не возвращает значения. Эту строку можно не писать совсем
}
int f2(void)// функция не имеет параметров. Слово void можно не писать
{
     return 1;
}
 
f1(3);// вызов первой функции
cout<<f2();// вызов второй функции с выводом результата
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
11.08.2014, 06:46     Что значит слово void #4
Цитата Сообщение от ГразныйЛуи Посмотреть сообщение
не могу понять,почему void,а не int.подскажите пожалуста
А почему не char? Или не float? Если бы все функции были int, то int бы не писали. void - такой же тип, только без данных, декларация
C++
1
void f();
позволяет вообще не возвращать ничего, кроме управления, то есть при возврате из такой функции происходит просто выход из неё и передача управления в вызывающую функцию (которой может и main оказаться).
__SOKOL__
3 / 3 / 0
Регистрация: 29.06.2013
Сообщений: 107
11.08.2014, 13:02     Что значит слово void #5
void значит ничего, пустота или что-то вроде этого.
Как сказал taras atavin, можно просто выйти из функции и вернуть управление, просто выйти из неё.
void можно использовать как указатель на что угодно.
Например так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
using namespace std;
 
int main()
{
    
    // Создаём переменную (int a) и передаём адрес нашей переменной (&a) указателю (void *pA)
    int a = 5;
    void* pA = &a;
    
    // Получаем указатель приведённый к родному типу данных
    int *b = (int*)pA;
    // Разыменуем указатель и выведем цифру 5
    cout << *b << endl;
    
    return 0;
}
Как я говорил, води может указывать на что угодно, вместо int подставляю любое значение.
Такое понадобиться, например когда будешь учить многопоточность.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
11.08.2014, 13:04     Что значит слово void #6
Цитата Сообщение от __SOKOL__ Посмотреть сообщение
void можно использовать как указатель на что угодно.
Нельзя. Нетипизированный указатель - это
C++
1
void*
, а не
C++
1
void
.
ГразныйЛуи
0 / 0 / 0
Регистрация: 05.08.2014
Сообщений: 17
11.08.2014, 13:51  [ТС]     Что значит слово void #7
спасибо
Fallenworld
75 / 75 / 9
Регистрация: 14.04.2014
Сообщений: 408
11.08.2014, 15:54     Что значит слово void #8
Хотел бы добавить, что return не совсем бесполезный оператор в void функции. Он позволяет завершить её выполнение в произвольном месте:
C++
1
2
3
4
5
void foo(){
...
if(condition) return;
...
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2014, 08:01     Что значит слово void
Еще ссылки по теме:

C++ Что значит (void*)2)?
C++ Что значит слово return?
В этой части кода происходит объявление функций? Что такое void? Что в скобках? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
17.08.2014, 08:01     Что значит слово void #9
Он бесполезен перед завершающей фигурной скобкой тела функции. При других типах обязателен как по синтаксису, так и семантически. Но если кому то показалось проще выйти посреди функции, то это одно из назначений данного оператора.
Yandex
Объявления
17.08.2014, 08:01     Что значит слово void
Ответ Создать тему
Опции темы

Текущее время: 04:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru