0 / 0 / 0
Регистрация: 05.08.2014
Сообщений: 17
1

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

11.08.2014, 03:09. Показов 2611. Ответов 8
Метки нет (Все метки)

изучаю функции,и наткнулся на:

void DemonstrationFunction

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

Добавлено через 5 минут
это случайно не "включить эту функцию в"?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.08.2014, 03:09
Ответы с готовыми решениями:

Что значит void(*f)()=(void(*)()func?
void(*f)()=(void(*)())func; Объясните, пожалуйста, что значит этот код.

Что значит (void*)2)?
Что значат ((void)*)? #define GLUT_STROKE_ROMAN ((void*)0) #define GLUT_STROKE_MONO_ROMAN ...

Что значит void в прототипе?
BOOL WINAPI AllocConsole(void); BOOL - тип возвращаемого значения, WINAPIN - соглашение,...

Что это значит: *(void**)ReturnValue) = hHeap; ?
Вот честно, не могу понять что значит вторая строчка кода: void* ReturnValue = (void*)...

8
14 / 0 / 0
Регистрация: 09.03.2014
Сообщений: 33
11.08.2014, 03:12 2
Слово используется в зависимости от контекста. Вы,в данном случае, мало что показали...как я понял: функция, которая возвращает "пустое" значение, например для вывода значений каких-либо переменных на экран и после своего выполнения она не должна передавать какое-либо полученное значение наружу. В данном случае скорее всего исходя из рациональных соображений.

https://ru.wikipedia.org/wiki/Void
http://msdn.microsoft.com/ru-r... y5d0w.aspx
0
Модератор
Эксперт С++
12446 / 10010 / 6025
Регистрация: 18.12.2011
Сообщений: 26,795
11.08.2014, 06:39 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();// вызов второй функции с выводом результата
1
4201 / 1793 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
11.08.2014, 06:46 4
Цитата Сообщение от ГразныйЛуи Посмотреть сообщение
не могу понять,почему void,а не int.подскажите пожалуста
А почему не char? Или не float? Если бы все функции были int, то int бы не писали. void - такой же тип, только без данных, декларация
C++
1
void f();
позволяет вообще не возвращать ничего, кроме управления, то есть при возврате из такой функции происходит просто выход из неё и передача управления в вызывающую функцию (которой может и main оказаться).
1
3 / 3 / 1
Регистрация: 29.06.2013
Сообщений: 107
11.08.2014, 13:02 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 подставляю любое значение.
Такое понадобиться, например когда будешь учить многопоточность.
0
4201 / 1793 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
11.08.2014, 13:04 6
Цитата Сообщение от __SOKOL__ Посмотреть сообщение
void можно использовать как указатель на что угодно.
Нельзя. Нетипизированный указатель - это
C++
1
void*
, а не
C++
1
void
.
0
0 / 0 / 0
Регистрация: 05.08.2014
Сообщений: 17
11.08.2014, 13:51  [ТС] 7
спасибо
0
76 / 76 / 32
Регистрация: 14.04.2014
Сообщений: 408
11.08.2014, 15:54 8
Хотел бы добавить, что return не совсем бесполезный оператор в void функции. Он позволяет завершить её выполнение в произвольном месте:
C++
1
2
3
4
5
void foo(){
...
if(condition) return;
...
}
0
4201 / 1793 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
17.08.2014, 08:01 9
Он бесполезен перед завершающей фигурной скобкой тела функции. При других типах обязателен как по синтаксису, так и семантически. Но если кому то показалось проще выйти посреди функции, то это одно из назначений данного оператора.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.08.2014, 08:01
Помогаю со студенческими работами здесь

Что значит слово return?
что значит слово return?

Void menu(void); что это ? почему не void menu();
void menu(void); что это ? почему не void menu(); void naprimer(void); и это идет в классе это...

В этой части кода происходит объявление функций? Что такое void? Что в скобках?
В этой части кода происходит объявление функций? Что такое void? Что в скобках? void get(float...

Sleep(8000) - что значит? На что можно заменить в борланд с++?
Не распознаёт Sleep(8000) . Если за комментировать пишет что f заданно но не используется. Как...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru