• Ищем качественного (не новичок) разработчиков Xenforo для этого форума! В идеале, чтобы ты был фулл стек программистом. Если у тебя есть что показать, то свяжись с нами по контактным данным: https://t.me/DREDD

C++ Чем действия void отличается от int?

  • Автор темы Автор темы placey
  • Дата начала Дата начала
мне это ничего не дало, что меняется в этих классах. и что происходит во время возвращения данных, зачем их возвращать?
Скажем ты сделал калькулятор степеней, тебе нужно будет возвращать полученное значение для вывода
 
уже вроде что то понял, но не до конца, то есть int дает понять сделал ли ты ошибку или нет? или что. я рил вообще не вдупляю, вот прост не додходит до меня и все
с помощью int ты можешь понять прошел ли этот кусок кода или нет, например, делаешь 2 проверки, какая вернула - та прошла, соответственно другая - нет. Надеюсь мысль донес
 
с помощью int ты можешь понять прошел ли этот кусок кода или нет, например, делаешь 2 проверки, какая вернула - та прошла, соответственно другая - нет. Надеюсь мысль донес
при написании какой нибудь проги или чита, влияет ли использование void или int на сам код?
 
Объясню на примере c#

C#:
Expand Collapse Copy
       static void Hello(string name)
        {
            Console.WriteLine($"Привет, {name}!");
        }
        // VOID ничего не возвращает в ответ, он лишь делает какое то действие, например, как тут он выводит: "Привет, {имя}!"
        static int Sum(int a, int b)
        {
            return a + b;
        }
        // int / string / bool / vector и тд в свою очередь могут вернуть какое - то значение. Например тут он посчитает сумму двух значений, которые ты укажешь в аргументах и вернёт тебе лишь ответ.
Если что то опять не понятно, напиши, только опиши подробнее, что именно не ясно
 
Объясню на примере c#

C#:
Expand Collapse Copy
       static void Hello(string name)
        {
            Console.WriteLine($"Привет, {name}!");
        }
        // VOID ничего не возвращает в ответ, он лишь делает какое то действие, например, как тут он выводит: "Привет, {имя}!"
        static int Sum(int a, int b)
        {
            return a + b;
        }
        // int / string / bool / vector и тд в свою очередь могут вернуть какое - то значение. Например тут он посчитает сумму двух значений, которые ты укажешь в аргументах и вернёт тебе лишь ответ.
Если что то опять не понятно, напиши, только опиши подробнее, что именно не ясно
аааа то есть void напишет a + b, а int просто выведет ab? или я опять что то не так понял
 
аааа то есть void напишет a + b, а int просто выведет ab? или я опять что то не так понял
может лучше в дс сходим, там понимать то и нечего, просто не хочу засорять тему.
не хочешь дс, дай свой тг/вк
 
может лучше в дс сходим, там понимать то и нечего, просто не хочу засорять тему.
не хочешь дс, дай свой тг/вк
retardasf#0442
при void нет нужды в return;, если есть int, float, string, то return обязателен
пооооооонял
 
Я увидел очень много ошибок в ответах от пользователей, поэтому считаю лучшим решением ответить самому.

Схема описания функции в C/C++:

1622401402609.png


Как это выглядит в коде:
C++:
Expand Collapse Copy
#include <iostream>

//Новые функции и процедуры должны создаваться выше функции main()
//В круглых скобках указываются аргументы, которые будет принимать функция
int sum(int a, int b)
{
   //Используем переданные аргументы, чтобы провести вычисления
    int result = a + b;
    //Оператор возврата говорит программе, что функция завершила работу
    return result;

   //Всё, что записано после return, не будет выполнено
}

int main()
{
    //Вызываем функцию с аргументами
    int result = sum(5, 6);
    cout << result; //Выводим ответ в консоль
}

Функции могут принимать или не принимать аргументы. Но если ты указал, что аргументы всё же нужны, то попытка вызвать функцию без них приведёт к ошибке.
Если указывать какой-либо тип возвращаемых данных, то обязательно должен присутствовать оператор return. Если возвращать значение не нужно, создавай процедуру — используй тип void.

C++:
Expand Collapse Copy
#include <iostream>

//Процедура void, которая выполняет какие-либо действия, но не возвращает значения
void printHello(std::string name)
{
    std::cout << "Hello, " << name << "!\n";
    //return нет
}

int main()
{
    printHello("Irval"); //Вызов printHello
}
В результате будет напечатана строка "Hello, Irval!".

Что мы должны были понять:
Функция возвращает значение, а процедура просто выполняет команды. Само понятие функции пришло из математики. Она используется для вычисления значения на основе входных данных.
Процедура - это набор команд, которые могут выполняться по порядку.
В большинстве языков программирования даже функции могут иметь набор команд. Следовательно, разница заключается только в возврате значения.
 
Я увидел очень много ошибок в ответах от пользователей, поэтому считаю лучшим решением ответить самому.

Схема описания функции в C/C++:

Посмотреть вложение 151704

Как это выглядит в коде:
C++:
Expand Collapse Copy
#include <iostream>

//Новые функции и процедуры должны создаваться выше функции main()
//В круглых скобках указываются аргументы, которые будет принимать функция
int sum(int a, int b)
{
   //Используем переданные аргументы, чтобы провести вычисления
    int result = a + b;
    //Оператор возврата говорит программе, что функция завершила работу
    return result;

   //Всё, что записано после return, не будет выполнено
}

int main()
{
    //Вызываем функцию с аргументами
    int result = sum(5, 6);
    cout << result; //Выводим ответ в консоль
}

Функции могут принимать или не принимать аргументы. Но если ты указал, что аргументы всё же нужны, то попытка вызвать функцию без них приведёт к ошибке.
Если указывать какой-либо тип возвращаемых данных, то обязательно должен присутствовать оператор return. Если возвращать значение не нужно, создавай процедуру — используй тип void.

C++:
Expand Collapse Copy
#include <iostream>

//Процедура void, которая выполняет какие-либо действия, но не возвращает значения
void printHello(std::string name)
{
    std::cout << "Hello, " << name << "!\n";
    //return нет
}

int main()
{
    printHello("Irval"); //Вызов printHello
}
В результате будет напечатана строка "Hello, Irval!".

Что мы должны были понять:
Функция возвращает значение, а процедура просто выполняет команды. Само понятие функции пришло из математики. Она используется для вычисления значения на основе входных данных.
Процедура - это набор команд, которые могут выполняться по порядку.
В большинстве языков программирования даже функции могут иметь набор команд. Следовательно, разница заключается только в возврате значения.
Боюсь, ты усложнил ему задачу))
ему нужен более короткий и в тоже время внятный ответ)) :roflanBuldiga:
 
Я увидел очень много ошибок в ответах от пользователей, поэтому считаю лучшим решением ответить самому.

Схема описания функции в C/C++:

Посмотреть вложение 151704

Как это выглядит в коде:
C++:
Expand Collapse Copy
#include <iostream>

//Новые функции и процедуры должны создаваться выше функции main()
//В круглых скобках указываются аргументы, которые будет принимать функция
int sum(int a, int b)
{
   //Используем переданные аргументы, чтобы провести вычисления
    int result = a + b;
    //Оператор возврата говорит программе, что функция завершила работу
    return result;

   //Всё, что записано после return, не будет выполнено
}

int main()
{
    //Вызываем функцию с аргументами
    int result = sum(5, 6);
    cout << result; //Выводим ответ в консоль
}

Функции могут принимать или не принимать аргументы. Но если ты указал, что аргументы всё же нужны, то попытка вызвать функцию без них приведёт к ошибке.
Если указывать какой-либо тип возвращаемых данных, то обязательно должен присутствовать оператор return. Если возвращать значение не нужно, создавай процедуру — используй тип void.

C++:
Expand Collapse Copy
#include <iostream>

//Процедура void, которая выполняет какие-либо действия, но не возвращает значения
void printHello(std::string name)
{
    std::cout << "Hello, " << name << "!\n";
    //return нет
}

int main()
{
    printHello("Irval"); //Вызов printHello
}
В результате будет напечатана строка "Hello, Irval!".

Что мы должны были понять:
Функция возвращает значение, а процедура просто выполняет команды. Само понятие функции пришло из математики. Она используется для вычисления значения на основе входных данных.
Процедура - это набор команд, которые могут выполняться по порядку.
В большинстве языков программирования даже функции могут иметь набор команд. Следовательно, разница заключается только в возврате значения.
Твой ответ очень хороший, не спорю, но для него он будет непонятен. Я сходил с ним в дс, попробовал объяснить на примерах из жизни, вроде он понял.
 
Боюсь, ты усложнил ему задачу))
ему нужен более короткий и в тоже время внятный ответ)) :roflanBuldiga:
Мой ответ достаточно емкий и понятный новичку. Полагаю, что если ТС хоть немного углубиться в материал - таких вопросов возникать не будет
 
Мой ответ достаточно емкий и понятный новичку. Полагаю, что если ТС хоть немного углубиться в материал - таких вопросов возникать не будет
спасибо большое, все ваши ответы мне очень сильно помогли.
 
искал на разных форумах, но честно говоря, понял только примерно, можно простым языком?
Оба стандартных типа данных в C/C++.
void описывает пустой тип, поэтому когда функция возвращает void означает что она ничего не возвращает.
int это целочисленный тип со знаком размером 4 байта, описывает числа от -2147483648 до +2147483647, когда функция или переменная должна работать с целым числом используется чаще всего int.
 
Назад
Сверху Снизу